From d3036ca70518ba69435877a9e78457fc08f0b651 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Fri, 11 Dec 2020 10:11:08 +0100 Subject: [PATCH] Boost.lexical_cast is not needed anymore. As of 9348c5c6, we use std::to_string() instead. This reduces the size of our boost copy by a couple of MB. --- 3rdparty/boost/boost/concept/assert.hpp | 45 - .../concept/detail/backward_compatibility.hpp | 16 - .../boost/boost/concept/detail/borland.hpp | 30 - .../boost/concept/detail/concept_def.hpp | 34 - .../boost/concept/detail/concept_undef.hpp | 5 - .../boost/boost/concept/detail/general.hpp | 77 - .../boost/concept/detail/has_constraints.hpp | 50 - 3rdparty/boost/boost/concept/detail/msvc.hpp | 123 - 3rdparty/boost/boost/concept/usage.hpp | 36 - 3rdparty/boost/boost/concept_check.hpp | 1082 ------- .../boost/boost/container/container_fwd.hpp | 301 -- .../boost/boost/container/detail/std_fwd.hpp | 59 - .../boost/boost/detail/basic_pointerbuf.hpp | 139 - 3rdparty/boost/boost/detail/fenv.hpp | 101 - .../boost/boost/detail/lcast_precision.hpp | 185 -- 3rdparty/boost/boost/iterator/advance.hpp | 84 - 3rdparty/boost/boost/iterator/distance.hpp | 65 - .../boost/iterator/iterator_concepts.hpp | 273 -- 3rdparty/boost/boost/lexical_cast.hpp | 105 - .../boost/lexical_cast/bad_lexical_cast.hpp | 101 - .../lexical_cast/detail/converter_lexical.hpp | 498 --- .../detail/converter_lexical_streams.hpp | 786 ----- .../lexical_cast/detail/converter_numeric.hpp | 172 - .../boost/lexical_cast/detail/inf_nan.hpp | 197 -- .../lexical_cast/detail/is_character.hpp | 59 - .../detail/lcast_char_constants.hpp | 46 - .../detail/lcast_unsigned_converters.hpp | 294 -- .../boost/lexical_cast/detail/widest_char.hpp | 43 - .../lexical_cast/try_lexical_convert.hpp | 232 -- 3rdparty/boost/boost/math/policies/policy.hpp | 1040 ------- .../special_functions/detail/fp_traits.hpp | 581 ---- .../special_functions/detail/round_fwd.hpp | 93 - .../math/special_functions/fpclassify.hpp | 640 ---- .../boost/math/special_functions/math_fwd.hpp | 1712 ---------- .../boost/math/special_functions/sign.hpp | 194 -- 3rdparty/boost/boost/math/tools/config.hpp | 469 --- 3rdparty/boost/boost/math/tools/promotion.hpp | 182 -- 3rdparty/boost/boost/math/tools/real_cast.hpp | 31 - 3rdparty/boost/boost/math/tools/user.hpp | 105 - 3rdparty/boost/boost/mpl/at.hpp | 52 - 3rdparty/boost/boost/mpl/at_fwd.hpp | 24 - 3rdparty/boost/boost/mpl/aux_/at_impl.hpp | 45 - .../boost/boost/mpl/aux_/config/typeof.hpp | 38 - .../boost/boost/mpl/aux_/contains_impl.hpp | 61 - 3rdparty/boost/boost/mpl/back_fwd.hpp | 24 - 3rdparty/boost/boost/mpl/comparison.hpp | 24 - 3rdparty/boost/boost/mpl/contains.hpp | 41 - 3rdparty/boost/boost/mpl/contains_fwd.hpp | 25 - 3rdparty/boost/boost/mpl/find.hpp | 38 - 3rdparty/boost/boost/mpl/greater.hpp | 21 - 3rdparty/boost/boost/mpl/greater_equal.hpp | 21 - 3rdparty/boost/boost/mpl/less_equal.hpp | 21 - 3rdparty/boost/boost/mpl/limits/vector.hpp | 21 - 3rdparty/boost/boost/mpl/minus.hpp | 21 - 3rdparty/boost/boost/mpl/multiplies.hpp | 53 - 3rdparty/boost/boost/mpl/not_equal_to.hpp | 21 - 3rdparty/boost/boost/mpl/pop_back_fwd.hpp | 24 - 3rdparty/boost/boost/mpl/remove_if.hpp | 83 - 3rdparty/boost/boost/mpl/times.hpp | 21 - 3rdparty/boost/boost/mpl/vector.hpp | 57 - .../boost/boost/mpl/vector/aux_/O1_size.hpp | 56 - 3rdparty/boost/boost/mpl/vector/aux_/at.hpp | 116 - 3rdparty/boost/boost/mpl/vector/aux_/back.hpp | 59 - .../boost/boost/mpl/vector/aux_/begin_end.hpp | 49 - .../boost/boost/mpl/vector/aux_/clear.hpp | 55 - .../boost/boost/mpl/vector/aux_/empty.hpp | 68 - .../boost/boost/mpl/vector/aux_/front.hpp | 56 - .../mpl/vector/aux_/include_preprocessed.hpp | 55 - 3rdparty/boost/boost/mpl/vector/aux_/item.hpp | 103 - .../boost/boost/mpl/vector/aux_/iterator.hpp | 130 - .../boost/boost/mpl/vector/aux_/numbered.hpp | 218 -- .../boost/mpl/vector/aux_/numbered_c.hpp | 77 - .../boost/boost/mpl/vector/aux_/pop_back.hpp | 40 - .../boost/boost/mpl/vector/aux_/pop_front.hpp | 40 - .../aux_/preprocessed/no_ctps/vector10.hpp | 1528 --------- .../aux_/preprocessed/no_ctps/vector10_c.hpp | 149 - .../aux_/preprocessed/no_ctps/vector20.hpp | 1804 ----------- .../aux_/preprocessed/no_ctps/vector20_c.hpp | 195 -- .../aux_/preprocessed/no_ctps/vector30.hpp | 2124 ------------- .../aux_/preprocessed/no_ctps/vector30_c.hpp | 238 -- .../aux_/preprocessed/no_ctps/vector40.hpp | 2444 --------------- .../aux_/preprocessed/no_ctps/vector40_c.hpp | 281 -- .../aux_/preprocessed/no_ctps/vector50.hpp | 2764 ----------------- .../aux_/preprocessed/no_ctps/vector50_c.hpp | 325 -- .../aux_/preprocessed/plain/vector10.hpp | 829 ----- .../aux_/preprocessed/plain/vector10_c.hpp | 149 - .../aux_/preprocessed/plain/vector20.hpp | 1144 ------- .../aux_/preprocessed/plain/vector20_c.hpp | 195 -- .../aux_/preprocessed/plain/vector30.hpp | 1464 --------- .../aux_/preprocessed/plain/vector30_c.hpp | 238 -- .../aux_/preprocessed/plain/vector40.hpp | 1784 ----------- .../aux_/preprocessed/plain/vector40_c.hpp | 281 -- .../aux_/preprocessed/plain/vector50.hpp | 2104 ------------- .../aux_/preprocessed/plain/vector50_c.hpp | 325 -- .../preprocessed/typeof_based/vector10.hpp | 139 - .../preprocessed/typeof_based/vector10_c.hpp | 154 - .../preprocessed/typeof_based/vector20.hpp | 159 - .../preprocessed/typeof_based/vector20_c.hpp | 163 - .../preprocessed/typeof_based/vector30.hpp | 179 -- .../preprocessed/typeof_based/vector30_c.hpp | 173 -- .../preprocessed/typeof_based/vector40.hpp | 199 -- .../preprocessed/typeof_based/vector40_c.hpp | 183 -- .../preprocessed/typeof_based/vector50.hpp | 219 -- .../preprocessed/typeof_based/vector50_c.hpp | 193 -- .../boost/boost/mpl/vector/aux_/push_back.hpp | 40 - .../boost/mpl/vector/aux_/push_front.hpp | 40 - 3rdparty/boost/boost/mpl/vector/aux_/size.hpp | 49 - 3rdparty/boost/boost/mpl/vector/aux_/tag.hpp | 32 - .../boost/boost/mpl/vector/aux_/vector0.hpp | 52 - 3rdparty/boost/boost/mpl/vector/vector0.hpp | 34 - 3rdparty/boost/boost/mpl/vector/vector0_c.hpp | 31 - 3rdparty/boost/boost/mpl/vector/vector10.hpp | 45 - .../boost/boost/mpl/vector/vector10_c.hpp | 46 - 3rdparty/boost/boost/mpl/vector/vector20.hpp | 45 - .../boost/boost/mpl/vector/vector20_c.hpp | 46 - 3rdparty/boost/boost/mpl/vector/vector30.hpp | 45 - .../boost/boost/mpl/vector/vector30_c.hpp | 47 - 3rdparty/boost/boost/mpl/vector/vector40.hpp | 45 - .../boost/boost/mpl/vector/vector40_c.hpp | 46 - 3rdparty/boost/boost/mpl/vector/vector50.hpp | 45 - .../boost/boost/mpl/vector/vector50_c.hpp | 46 - 3rdparty/boost/boost/next_prior.hpp | 195 -- 3rdparty/boost/boost/non_type.hpp | 27 - .../boost/boost/numeric/conversion/bounds.hpp | 24 - .../boost/boost/numeric/conversion/cast.hpp | 61 - .../numeric/conversion/conversion_traits.hpp | 32 - .../boost/numeric/conversion/converter.hpp | 68 - .../numeric/conversion/converter_policies.hpp | 195 -- .../numeric/conversion/detail/bounds.hpp | 58 - .../conversion/detail/conversion_traits.hpp | 97 - .../numeric/conversion/detail/converter.hpp | 593 ---- .../conversion/detail/int_float_mixture.hpp | 72 - .../conversion/detail/is_subranged.hpp | 234 -- .../boost/numeric/conversion/detail/meta.hpp | 120 - .../conversion/detail/numeric_cast_traits.hpp | 138 - .../conversion/detail/old_numeric_cast.hpp | 308 -- .../numeric_cast_traits_common.hpp | 1741 ----------- .../numeric_cast_traits_long_long.hpp | 347 --- .../conversion/detail/sign_mixture.hpp | 72 - .../conversion/detail/udt_builtin_mixture.hpp | 69 - .../conversion/int_float_mixture_enum.hpp | 29 - .../conversion/numeric_cast_traits.hpp | 31 - .../numeric/conversion/sign_mixture_enum.hpp | 29 - .../conversion/udt_builtin_mixture_enum.hpp | 26 - .../boost/preprocessor/control/deduce_d.hpp | 22 - 3rdparty/boost/boost/preprocessor/seq/cat.hpp | 49 - .../boost/boost/preprocessor/seq/enum.hpp | 288 -- .../boost/preprocessor/seq/for_each_i.hpp | 109 - .../boost/preprocessor/seq/transform.hpp | 48 - .../boost/boost/range/algorithm/equal.hpp | 200 -- 3rdparty/boost/boost/range/begin.hpp | 143 - 3rdparty/boost/boost/range/concepts.hpp | 388 --- 3rdparty/boost/boost/range/config.hpp | 56 - 3rdparty/boost/boost/range/const_iterator.hpp | 76 - 3rdparty/boost/boost/range/detail/begin.hpp | 83 - 3rdparty/boost/boost/range/detail/common.hpp | 116 - 3rdparty/boost/boost/range/detail/end.hpp | 86 - .../range/detail/extract_optional_type.hpp | 48 - .../boost/range/detail/has_member_size.hpp | 66 - .../range/detail/implementation_help.hpp | 114 - .../boost/boost/range/detail/misc_concept.hpp | 33 - .../detail/msvc_has_iterator_workaround.hpp | 132 - .../boost/boost/range/detail/safe_bool.hpp | 72 - 3rdparty/boost/boost/range/detail/sfinae.hpp | 77 - .../boost/boost/range/difference_type.hpp | 47 - 3rdparty/boost/boost/range/distance.hpp | 40 - 3rdparty/boost/boost/range/empty.hpp | 34 - 3rdparty/boost/boost/range/end.hpp | 136 - 3rdparty/boost/boost/range/functions.hpp | 27 - .../boost/boost/range/has_range_iterator.hpp | 83 - 3rdparty/boost/boost/range/iterator.hpp | 74 - .../boost/boost/range/iterator_range_core.hpp | 884 ------ .../boost/boost/range/mutable_iterator.hpp | 79 - 3rdparty/boost/boost/range/range_fwd.hpp | 63 - 3rdparty/boost/boost/range/rbegin.hpp | 65 - 3rdparty/boost/boost/range/rend.hpp | 65 - .../boost/boost/range/reverse_iterator.hpp | 42 - 3rdparty/boost/boost/range/size.hpp | 76 - 3rdparty/boost/boost/range/size_type.hpp | 90 - 3rdparty/boost/boost/range/value_type.hpp | 30 - .../boost/type_traits/conversion_traits.hpp | 17 - .../detail/has_binary_operator.hpp | 279 -- .../type_traits/detail/is_likely_lambda.hpp | 95 - .../boost/type_traits/has_left_shift.hpp | 49 - .../boost/boost/type_traits/has_minus.hpp | 158 - .../boost/type_traits/has_minus_assign.hpp | 163 - 3rdparty/boost/boost/type_traits/has_plus.hpp | 54 - .../boost/type_traits/has_plus_assign.hpp | 161 - .../boost/type_traits/has_right_shift.hpp | 49 - 3rdparty/boost/boost/type_traits/is_float.hpp | 20 - .../boost/type_traits/is_fundamental.hpp | 26 - .../boost/boost/type_traits/make_unsigned.hpp | 136 - .../boost/boost/type_traits/make_void.hpp | 52 - 3rdparty/boost/boost/utility.hpp | 24 - .../boost/boost/utility/base_from_member.hpp | 172 - 3rdparty/boost/boost/utility/binary.hpp | 708 ----- .../boost/boost/utility/identity_type.hpp | 46 - 3rdparty/boost/extract.sh | 1 - 198 files changed, 45820 deletions(-) delete mode 100644 3rdparty/boost/boost/concept/assert.hpp delete mode 100644 3rdparty/boost/boost/concept/detail/backward_compatibility.hpp delete mode 100644 3rdparty/boost/boost/concept/detail/borland.hpp delete mode 100644 3rdparty/boost/boost/concept/detail/concept_def.hpp delete mode 100644 3rdparty/boost/boost/concept/detail/concept_undef.hpp delete mode 100644 3rdparty/boost/boost/concept/detail/general.hpp delete mode 100644 3rdparty/boost/boost/concept/detail/has_constraints.hpp delete mode 100644 3rdparty/boost/boost/concept/detail/msvc.hpp delete mode 100644 3rdparty/boost/boost/concept/usage.hpp delete mode 100644 3rdparty/boost/boost/concept_check.hpp delete mode 100644 3rdparty/boost/boost/container/container_fwd.hpp delete mode 100644 3rdparty/boost/boost/container/detail/std_fwd.hpp delete mode 100644 3rdparty/boost/boost/detail/basic_pointerbuf.hpp delete mode 100644 3rdparty/boost/boost/detail/fenv.hpp delete mode 100644 3rdparty/boost/boost/detail/lcast_precision.hpp delete mode 100644 3rdparty/boost/boost/iterator/advance.hpp delete mode 100644 3rdparty/boost/boost/iterator/distance.hpp delete mode 100644 3rdparty/boost/boost/iterator/iterator_concepts.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/bad_lexical_cast.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/converter_lexical.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/converter_lexical_streams.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/converter_numeric.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/inf_nan.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/is_character.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/lcast_char_constants.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/lcast_unsigned_converters.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/detail/widest_char.hpp delete mode 100644 3rdparty/boost/boost/lexical_cast/try_lexical_convert.hpp delete mode 100644 3rdparty/boost/boost/math/policies/policy.hpp delete mode 100644 3rdparty/boost/boost/math/special_functions/detail/fp_traits.hpp delete mode 100644 3rdparty/boost/boost/math/special_functions/detail/round_fwd.hpp delete mode 100644 3rdparty/boost/boost/math/special_functions/fpclassify.hpp delete mode 100644 3rdparty/boost/boost/math/special_functions/math_fwd.hpp delete mode 100644 3rdparty/boost/boost/math/special_functions/sign.hpp delete mode 100644 3rdparty/boost/boost/math/tools/config.hpp delete mode 100644 3rdparty/boost/boost/math/tools/promotion.hpp delete mode 100644 3rdparty/boost/boost/math/tools/real_cast.hpp delete mode 100644 3rdparty/boost/boost/math/tools/user.hpp delete mode 100644 3rdparty/boost/boost/mpl/at.hpp delete mode 100644 3rdparty/boost/boost/mpl/at_fwd.hpp delete mode 100644 3rdparty/boost/boost/mpl/aux_/at_impl.hpp delete mode 100644 3rdparty/boost/boost/mpl/aux_/config/typeof.hpp delete mode 100644 3rdparty/boost/boost/mpl/aux_/contains_impl.hpp delete mode 100644 3rdparty/boost/boost/mpl/back_fwd.hpp delete mode 100644 3rdparty/boost/boost/mpl/comparison.hpp delete mode 100644 3rdparty/boost/boost/mpl/contains.hpp delete mode 100644 3rdparty/boost/boost/mpl/contains_fwd.hpp delete mode 100644 3rdparty/boost/boost/mpl/find.hpp delete mode 100644 3rdparty/boost/boost/mpl/greater.hpp delete mode 100644 3rdparty/boost/boost/mpl/greater_equal.hpp delete mode 100644 3rdparty/boost/boost/mpl/less_equal.hpp delete mode 100644 3rdparty/boost/boost/mpl/limits/vector.hpp delete mode 100644 3rdparty/boost/boost/mpl/minus.hpp delete mode 100644 3rdparty/boost/boost/mpl/multiplies.hpp delete mode 100644 3rdparty/boost/boost/mpl/not_equal_to.hpp delete mode 100644 3rdparty/boost/boost/mpl/pop_back_fwd.hpp delete mode 100644 3rdparty/boost/boost/mpl/remove_if.hpp delete mode 100644 3rdparty/boost/boost/mpl/times.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/O1_size.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/at.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/back.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/begin_end.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/clear.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/empty.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/front.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/include_preprocessed.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/item.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/iterator.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/numbered.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/numbered_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/pop_back.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/pop_front.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/push_back.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/push_front.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/size.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/tag.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/aux_/vector0.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector0.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector0_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector10.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector10_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector20.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector20_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector30.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector30_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector40.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector40_c.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector50.hpp delete mode 100644 3rdparty/boost/boost/mpl/vector/vector50_c.hpp delete mode 100644 3rdparty/boost/boost/next_prior.hpp delete mode 100644 3rdparty/boost/boost/non_type.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/bounds.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/cast.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/conversion_traits.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/converter.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/converter_policies.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/bounds.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/conversion_traits.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/converter.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/int_float_mixture.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/is_subranged.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/meta.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/numeric_cast_traits.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/old_numeric_cast.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/sign_mixture.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/int_float_mixture_enum.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/numeric_cast_traits.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/sign_mixture_enum.hpp delete mode 100644 3rdparty/boost/boost/numeric/conversion/udt_builtin_mixture_enum.hpp delete mode 100644 3rdparty/boost/boost/preprocessor/control/deduce_d.hpp delete mode 100644 3rdparty/boost/boost/preprocessor/seq/cat.hpp delete mode 100644 3rdparty/boost/boost/preprocessor/seq/enum.hpp delete mode 100644 3rdparty/boost/boost/preprocessor/seq/for_each_i.hpp delete mode 100644 3rdparty/boost/boost/preprocessor/seq/transform.hpp delete mode 100644 3rdparty/boost/boost/range/algorithm/equal.hpp delete mode 100644 3rdparty/boost/boost/range/begin.hpp delete mode 100644 3rdparty/boost/boost/range/concepts.hpp delete mode 100644 3rdparty/boost/boost/range/config.hpp delete mode 100644 3rdparty/boost/boost/range/const_iterator.hpp delete mode 100644 3rdparty/boost/boost/range/detail/begin.hpp delete mode 100644 3rdparty/boost/boost/range/detail/common.hpp delete mode 100644 3rdparty/boost/boost/range/detail/end.hpp delete mode 100644 3rdparty/boost/boost/range/detail/extract_optional_type.hpp delete mode 100644 3rdparty/boost/boost/range/detail/has_member_size.hpp delete mode 100644 3rdparty/boost/boost/range/detail/implementation_help.hpp delete mode 100644 3rdparty/boost/boost/range/detail/misc_concept.hpp delete mode 100644 3rdparty/boost/boost/range/detail/msvc_has_iterator_workaround.hpp delete mode 100644 3rdparty/boost/boost/range/detail/safe_bool.hpp delete mode 100644 3rdparty/boost/boost/range/detail/sfinae.hpp delete mode 100644 3rdparty/boost/boost/range/difference_type.hpp delete mode 100644 3rdparty/boost/boost/range/distance.hpp delete mode 100644 3rdparty/boost/boost/range/empty.hpp delete mode 100644 3rdparty/boost/boost/range/end.hpp delete mode 100644 3rdparty/boost/boost/range/functions.hpp delete mode 100644 3rdparty/boost/boost/range/has_range_iterator.hpp delete mode 100644 3rdparty/boost/boost/range/iterator.hpp delete mode 100644 3rdparty/boost/boost/range/iterator_range_core.hpp delete mode 100644 3rdparty/boost/boost/range/mutable_iterator.hpp delete mode 100644 3rdparty/boost/boost/range/range_fwd.hpp delete mode 100644 3rdparty/boost/boost/range/rbegin.hpp delete mode 100644 3rdparty/boost/boost/range/rend.hpp delete mode 100644 3rdparty/boost/boost/range/reverse_iterator.hpp delete mode 100644 3rdparty/boost/boost/range/size.hpp delete mode 100644 3rdparty/boost/boost/range/size_type.hpp delete mode 100644 3rdparty/boost/boost/range/value_type.hpp delete mode 100644 3rdparty/boost/boost/type_traits/conversion_traits.hpp delete mode 100644 3rdparty/boost/boost/type_traits/detail/has_binary_operator.hpp delete mode 100644 3rdparty/boost/boost/type_traits/detail/is_likely_lambda.hpp delete mode 100644 3rdparty/boost/boost/type_traits/has_left_shift.hpp delete mode 100644 3rdparty/boost/boost/type_traits/has_minus.hpp delete mode 100644 3rdparty/boost/boost/type_traits/has_minus_assign.hpp delete mode 100644 3rdparty/boost/boost/type_traits/has_plus.hpp delete mode 100644 3rdparty/boost/boost/type_traits/has_plus_assign.hpp delete mode 100644 3rdparty/boost/boost/type_traits/has_right_shift.hpp delete mode 100644 3rdparty/boost/boost/type_traits/is_float.hpp delete mode 100644 3rdparty/boost/boost/type_traits/is_fundamental.hpp delete mode 100644 3rdparty/boost/boost/type_traits/make_unsigned.hpp delete mode 100644 3rdparty/boost/boost/type_traits/make_void.hpp delete mode 100644 3rdparty/boost/boost/utility.hpp delete mode 100644 3rdparty/boost/boost/utility/base_from_member.hpp delete mode 100644 3rdparty/boost/boost/utility/binary.hpp delete mode 100644 3rdparty/boost/boost/utility/identity_type.hpp diff --git a/3rdparty/boost/boost/concept/assert.hpp b/3rdparty/boost/boost/concept/assert.hpp deleted file mode 100644 index 36c3b03f33..0000000000 --- a/3rdparty/boost/boost/concept/assert.hpp +++ /dev/null @@ -1,45 +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 -# include - -// 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)) - -// 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 -# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -# include -# else -# include -# endif - - // Usage, in class or function context: - // - // BOOST_CONCEPT_ASSERT((UnaryFunctionConcept)); - // -# define BOOST_CONCEPT_ASSERT(ModelInParens) \ - BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens) - -#endif // BOOST_CONCEPT_ASSERT_DWA2006430_HPP diff --git a/3rdparty/boost/boost/concept/detail/backward_compatibility.hpp b/3rdparty/boost/boost/concept/detail/backward_compatibility.hpp deleted file mode 100644 index 66d573ef4b..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/concept/detail/borland.hpp b/3rdparty/boost/boost/concept/detail/borland.hpp deleted file mode 100644 index 300d5d4050..0000000000 --- a/3rdparty/boost/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 -# include - -namespace boost { namespace concepts { - -template -struct require; - -template -struct require -{ - enum { instantiate = sizeof((((Model*)0)->~Model()), 3) }; -}; - -# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ - enum \ - { \ - BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - boost::concepts::require::instantiate \ - } - -}} // namespace boost::concept - -#endif // BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP diff --git a/3rdparty/boost/boost/concept/detail/concept_def.hpp b/3rdparty/boost/boost/concept/detail/concept_def.hpp deleted file mode 100644 index 750561ee30..0000000000 --- a/3rdparty/boost/boost/concept/detail/concept_def.hpp +++ /dev/null @@ -1,34 +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 -# include -# include -# include -#endif // BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP - -// BOOST_concept(SomeName, (p1)(p2)...(pN)) -// -// Expands to "template struct SomeName" -// -// Also defines an equivalent SomeNameConcept for backward compatibility. -// Maybe in the next release we can kill off the "Concept" suffix for good. -# 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 - -// Helper for BOOST_concept, above. -# define BOOST_CONCEPT_typename(r, ignored, index, t) \ - BOOST_PP_COMMA_IF(index) typename t - diff --git a/3rdparty/boost/boost/concept/detail/concept_undef.hpp b/3rdparty/boost/boost/concept/detail/concept_undef.hpp deleted file mode 100644 index 713db89123..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/concept/detail/general.hpp b/3rdparty/boost/boost/concept/detail/general.hpp deleted file mode 100644 index eeb08750f1..0000000000 --- a/3rdparty/boost/boost/concept/detail/general.hpp +++ /dev/null @@ -1,77 +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 -# include -# include - -# ifdef BOOST_OLD_CONCEPT_SUPPORT -# include -# include -# endif - -// This implementation works on Comeau and GCC, all the way back to -// 2.95 -namespace boost { namespace concepts { - -template -struct requirement_; - -namespace detail -{ - template struct instantiate {}; -} - -template -struct requirement -{ - static void failed() { ((Model*)0)->~Model(); } -}; - -struct failed {}; - -template -struct requirement -{ - static void failed() { ((Model*)0)->~Model(); } -}; - -# ifdef BOOST_OLD_CONCEPT_SUPPORT - -template -struct constraint -{ - static void failed() { ((Model*)0)->constraints(); } -}; - -template -struct requirement_ - : boost::conditional< - concepts::not_satisfied::value - , constraint - , requirement - >::type -{}; - -# else - -// For GCC-2.x, these can't have exactly the same name -template -struct requirement_ - : requirement -{}; - -# endif - -# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ - typedef ::boost::concepts::detail::instantiate< \ - &::boost::concepts::requirement_::failed> \ - BOOST_PP_CAT(boost_concept_check,__LINE__) \ - BOOST_ATTRIBUTE_UNUSED - -}} - -#endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP diff --git a/3rdparty/boost/boost/concept/detail/has_constraints.hpp b/3rdparty/boost/boost/concept/detail/has_constraints.hpp deleted file mode 100644 index dc2c20714e..0000000000 --- a/3rdparty/boost/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 -# include -# include - -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 - 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 - inline yes has_constraints_(Model*, wrap_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 -struct not_satisfied -{ - BOOST_STATIC_CONSTANT( - bool - , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) ); - typedef boost::integral_constant type; -}; - -}} // namespace boost::concepts::detail - -#endif // BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP diff --git a/3rdparty/boost/boost/concept/detail/msvc.hpp b/3rdparty/boost/boost/concept/detail/msvc.hpp deleted file mode 100644 index 933ac02a52..0000000000 --- a/3rdparty/boost/boost/concept/detail/msvc.hpp +++ /dev/null @@ -1,123 +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 -# include -# include - -# ifdef BOOST_OLD_CONCEPT_SUPPORT -# include -# include -# endif - -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable:4100) -# endif - -namespace boost { namespace concepts { - - -template -struct check -{ - virtual void failed(Model* x) - { - x->~Model(); - } -}; - -# ifndef BOOST_NO_PARTIAL_SPECIALIZATION -struct failed {}; -template -struct check -{ - 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 -struct require - : boost::conditional< - not_satisfied::value - , detail::constraint -# ifndef BOOST_NO_PARTIAL_SPECIALIZATION - , check -# else - , check -# endif - >::type -{}; - -# else - -template -struct require -# ifndef BOOST_NO_PARTIAL_SPECIALIZATION - : check -# else - : check -# endif -{}; - -# endif - -# if BOOST_WORKAROUND(BOOST_MSVC, == 1310) - -// -// The iterator library sees some really strange errors unless we -// do things this way. -// -template -struct require -{ - virtual void failed(Model*) - { - require(); - } -}; - -# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ -enum \ -{ \ - BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - sizeof(::boost::concepts::require) \ -} - -# else // Not vc-7.1 - -template -require -require_(void(*)(Model)); - -# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ -enum \ -{ \ - BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - sizeof(::boost::concepts::require_((ModelFnPtr)0)) \ -} - -# endif -}} - -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif - -#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP diff --git a/3rdparty/boost/boost/concept/usage.hpp b/3rdparty/boost/boost/concept/usage.hpp deleted file mode 100644 index 373de63a9d..0000000000 --- a/3rdparty/boost/boost/concept/usage.hpp +++ /dev/null @@ -1,36 +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 -# include -# include - -namespace boost { namespace concepts { - -template -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() - -# else - -# define BOOST_CONCEPT_USAGE(model) \ - BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements)); \ - ~model() - -# endif - -}} // namespace boost::concepts - -#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP diff --git a/3rdparty/boost/boost/concept_check.hpp b/3rdparty/boost/boost/concept_check.hpp deleted file mode 100644 index abbadb76be..0000000000 --- a/3rdparty/boost/boost/concept_check.hpp +++ /dev/null @@ -1,1082 +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 header. (JMaddock) -// - -// See http://www.boost.org/libs/concept_check for documentation. - -#ifndef BOOST_CONCEPT_CHECKS_HPP -# define BOOST_CONCEPT_CHECKS_HPP - -# include - -# include -# include -# include -# include -# include -# include -# include -# include - -# include -# include - -#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 - -namespace boost -{ - - // - // Backward compatibility - // - - template - inline void function_requires(Model* = 0) - { - BOOST_CONCEPT_ASSERT((Model)); - } - template inline void ignore_unused_variable_warning(T const&) {} - -# define BOOST_CLASS_REQUIRE(type_var, ns, concept) \ - BOOST_CONCEPT_ASSERT((ns::concept)) - -# define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept) \ - BOOST_CONCEPT_ASSERT((ns::concept)) - -# define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept) \ - BOOST_CONCEPT_ASSERT((ns::concept)) - -# define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \ - BOOST_CONCEPT_ASSERT((ns::concept)) - - - // - // 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 {}; - template <> struct Integer {}; - template <> struct Integer {}; - template <> struct Integer {}; - template <> struct Integer {}; - template <> struct Integer {}; - template <> struct Integer {}; - template <> struct Integer {}; - template <> struct Integer {}; -# 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 {}; -# endif - - BOOST_concept(SignedInteger,(T)) { - BOOST_CONCEPT_USAGE(SignedInteger) { - x.error_type_must_be_a_signed_integer_type(); - } - private: - T x; - }; - template <> struct SignedInteger { }; - template <> struct SignedInteger {}; - template <> struct SignedInteger {}; - template <> struct SignedInteger {}; -# 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 {}; - template <> struct UnsignedInteger {}; - template <> struct UnsignedInteger {}; - template <> struct UnsignedInteger {}; -# if defined(BOOST_HAS_LONG_LONG) - template <> struct UnsignedInteger< ::boost::ulong_long_type> {}; -# elif defined(BOOST_HAS_MS_INT64) - template <> struct UnsignedInteger {}; -# 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; - }; - - // 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; - }; - - 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 - 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()); } - - private: - void test(boost::false_type) - { - // Do we really want a reference here? - const Return& r = f(); - ignore_unused_variable_warning(r); - } - - void test(boost::true_type) - { - f(); - } - - Func f; - }; - - BOOST_concept(UnaryFunction,(Func)(Return)(Arg)) - { - BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void()); } - - private: - void test(boost::false_type) - { - f(arg); // "priming the pump" this way keeps msvc6 happy (ICE) - Return r = f(arg); - ignore_unused_variable_warning(r); - } - - void test(boost::true_type) - { - f(arg); - } - -#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 reference type. - // (warning: non-static reference "const double& boost::UnaryFunction::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()); } - private: - void test(boost::false_type) - { - f(first,second); - Return r = f(first, second); // require operator() - (void)r; - } - - void test(boost::true_type) - { - 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 reference type. - // (warning: non-static reference "const double& boost::BinaryFunction::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 reference type. - // (warning: non-static reference "const double& boost::UnaryPredicate::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 reference type. - // (warning: non-static reference "const double& boost::BinaryPredicate::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 - { - 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 reference type. - // (warning: non-static reference "const double& boost::Const_BinaryPredicate::arg" - // in class without a constructor [-Wuninitialized]) - Const_BinaryPredicate(); -#endif - - Func f; - First a; - Second b; - }; - - BOOST_concept(AdaptableGenerator,(Func)(Return)) - : Generator - { - typedef typename Func::result_type result_type; - - BOOST_CONCEPT_USAGE(AdaptableGenerator) - { - BOOST_CONCEPT_ASSERT((Convertible)); - } - }; - - BOOST_concept(AdaptableUnaryFunction,(Func)(Return)(Arg)) - : UnaryFunction - { - typedef typename Func::argument_type argument_type; - typedef typename Func::result_type result_type; - - ~AdaptableUnaryFunction() - { - BOOST_CONCEPT_ASSERT((Convertible)); - BOOST_CONCEPT_ASSERT((Convertible)); - } - }; - - 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)); - BOOST_CONCEPT_ASSERT((Convertible)); - BOOST_CONCEPT_ASSERT((Convertible)); - } - }; - - BOOST_concept(AdaptablePredicate,(Func)(Arg)) - : UnaryPredicate - , AdaptableUnaryFunction - { - }; - - BOOST_concept(AdaptableBinaryPredicate,(Func)(First)(Second)) - : BinaryPredicate - , AdaptableBinaryFunction - { - }; - - //=========================================================================== - // Iterator Concepts - - BOOST_concept(InputIterator,(TT)) - : Assignable - , EqualityComparable - { - typedef typename std::iterator_traits::value_type value_type; - typedef typename std::iterator_traits::difference_type difference_type; - typedef typename std::iterator_traits::reference reference; - typedef typename std::iterator_traits::pointer pointer; - typedef typename std::iterator_traits::iterator_category iterator_category; - - BOOST_CONCEPT_USAGE(InputIterator) - { - BOOST_CONCEPT_ASSERT((SignedInteger)); - BOOST_CONCEPT_ASSERT((Convertible)); - - 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 - { - 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 - { - BOOST_CONCEPT_USAGE(ForwardIterator) - { - BOOST_CONCEPT_ASSERT((Convertible< - BOOST_DEDUCED_TYPENAME ForwardIterator::iterator_category - , std::forward_iterator_tag - >)); - - typename InputIterator::reference r = *i; - ignore_unused_variable_warning(r); - } - - private: - TT i; - }; - - BOOST_concept(Mutable_ForwardIterator,(TT)) - : ForwardIterator - { - BOOST_CONCEPT_USAGE(Mutable_ForwardIterator) { - *i++ = *j; // require postincrement and assignment - } - private: - TT i, j; - }; - - BOOST_concept(BidirectionalIterator,(TT)) - : ForwardIterator - { - 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 - , Mutable_ForwardIterator - { - BOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator) - { - *i-- = *j; // require postdecrement and assignment - } - private: - TT i, j; - }; - - BOOST_concept(RandomAccessIterator,(TT)) - : BidirectionalIterator - , Comparable - { - BOOST_CONCEPT_USAGE(RandomAccessIterator) - { - BOOST_CONCEPT_ASSERT((Convertible< - BOOST_DEDUCED_TYPENAME BidirectionalIterator::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 std::iterator_traits::difference_type n; - }; - - BOOST_concept(Mutable_RandomAccessIterator,(TT)) - : RandomAccessIterator - , Mutable_BidirectionalIterator - { - BOOST_CONCEPT_USAGE(Mutable_RandomAccessIterator) - { - i[n] = *i; // require element access and assignment - } - private: - TT i; - typename std::iterator_traits::difference_type n; - }; - - //=========================================================================== - // Container s - - BOOST_concept(Container,(C)) - : Assignable - { - 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_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 - { - typedef typename C::reference reference; - typedef typename C::iterator iterator; - typedef typename C::pointer pointer; - - BOOST_CONCEPT_USAGE(Mutable_Container) - { - BOOST_CONCEPT_ASSERT(( - Assignable)); - - BOOST_CONCEPT_ASSERT((InputIterator)); - - i = c.begin(); - i = c.end(); - c.swap(c2); - } - - private: - iterator i; - C c, c2; - }; - - BOOST_concept(ForwardContainer,(C)) - : Container - { - BOOST_CONCEPT_USAGE(ForwardContainer) - { - BOOST_CONCEPT_ASSERT(( - ForwardIterator< - typename ForwardContainer::const_iterator - >)); - } - }; - - BOOST_concept(Mutable_ForwardContainer,(C)) - : ForwardContainer - , Mutable_Container - { - BOOST_CONCEPT_USAGE(Mutable_ForwardContainer) - { - BOOST_CONCEPT_ASSERT(( - Mutable_ForwardIterator< - typename Mutable_ForwardContainer::iterator - >)); - } - }; - - BOOST_concept(ReversibleContainer,(C)) - : ForwardContainer - { - 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_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 - , ReversibleContainer - { - typedef typename C::reverse_iterator reverse_iterator; - - BOOST_CONCEPT_USAGE(Mutable_ReversibleContainer) - { - typedef typename Mutable_ForwardContainer::iterator iterator; - BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator)); - BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator)); - - reverse_iterator i = c.rbegin(); - i = c.rend(); - } - private: - C c; - }; - - BOOST_concept(RandomAccessContainer,(C)) - : ReversibleContainer - { - 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 - , RandomAccessContainer - { - private: - typedef Mutable_RandomAccessContainer self; - public: - BOOST_CONCEPT_USAGE(Mutable_RandomAccessContainer) - { - BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator)); - BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator)); - - typename self::reference r = c[i]; - ignore_unused_variable_warning(r); - } - - private: - typename Mutable_ReversibleContainer::size_type i; - C c; - }; - - // A Sequence is inherently mutable - BOOST_concept(Sequence,(S)) - : Mutable_ForwardContainer - // 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 - { - BOOST_CONCEPT_USAGE(Sequence) - { - S - c(n, t), - c2(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(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 - { - BOOST_CONCEPT_USAGE(FrontInsertionSequence) - { - c.push_front(t); - c.pop_front(); - } - private: - S c; - typename S::value_type t; - }; - - BOOST_concept(BackInsertionSequence,(S)) - : Sequence - { - 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 - , DefaultConstructible - { - 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)); - - typedef typename AssociativeContainer::value_type value_type_; - BOOST_CONCEPT_ASSERT((BinaryPredicate)); - } - - // 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 r; - const_iterator ci; - std::pair cr; - typename C::key_type k; - typename C::size_type n; - }; - - BOOST_concept(UniqueAssociativeContainer,(C)) - : AssociativeContainer - { - 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 pos_flag; - typename C::value_type t; - typename C::value_type* first, *last; - }; - - BOOST_concept(MultipleAssociativeContainer,(C)) - : AssociativeContainer - { - 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 - { - BOOST_CONCEPT_USAGE(SimpleAssociativeContainer) - { - typedef typename C::key_type key_type; - typedef typename C::value_type value_type; - BOOST_STATIC_ASSERT((boost::is_same::value)); - } - }; - - BOOST_concept(PairAssociativeContainer,(C)) - : AssociativeContainer - { - 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 required_value_type; - BOOST_STATIC_ASSERT((boost::is_same::value)); - } - }; - - BOOST_concept(SortedAssociativeContainer,(C)) - : AssociativeContainer - , ReversibleContainer - { - 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 r; - std::pair cr; - typename C::value_type* first, *last; - }; - - // HashedAssociativeContainer - - BOOST_concept(Collection,(C)) - { - BOOST_CONCEPT_USAGE(Collection) - { - boost::function_requires >(); - boost::function_requires >(); - boost::function_requires >(); - 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 - -#if (defined _MSC_VER) -# pragma warning( pop ) -#endif - -# include - -#endif // BOOST_CONCEPT_CHECKS_HPP - diff --git a/3rdparty/boost/boost/container/container_fwd.hpp b/3rdparty/boost/boost/container/container_fwd.hpp deleted file mode 100644 index 2cfb20a540..0000000000 --- a/3rdparty/boost/boost/container/container_fwd.hpp +++ /dev/null @@ -1,301 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2005-2014. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP -#define BOOST_CONTAINER_CONTAINER_FWD_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif - -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -//! \file -//! This header file forward declares the following containers: -//! - boost::container::vector -//! - boost::container::stable_vector -//! - boost::container::static_vector -//! - boost::container::small_vector_base -//! - boost::container::small_vector -//! - boost::container::slist -//! - boost::container::list -//! - boost::container::set -//! - boost::container::multiset -//! - boost::container::map -//! - boost::container::multimap -//! - boost::container::flat_set -//! - boost::container::flat_multiset -//! - boost::container::flat_map -//! - boost::container::flat_multimap -//! - boost::container::basic_string -//! - boost::container::string -//! - boost::container::wstring -//! -//! Forward declares the following allocators: -//! - boost::container::allocator -//! - boost::container::node_allocator -//! - boost::container::adaptive_pool -//! -//! Forward declares the following polymorphic resource classes: -//! - boost::container::pmr::memory_resource -//! - boost::container::pmr::polymorphic_allocator -//! - boost::container::pmr::monotonic_buffer_resource -//! - boost::container::pmr::pool_options -//! - boost::container::pmr::unsynchronized_pool_resource -//! - boost::container::pmr::synchronized_pool_resource -//! -//! And finally it defines the following types - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//Std forward declarations -#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP - #include -#endif - -namespace boost{ -namespace intrusive{ -namespace detail{ - //Create namespace to avoid compilation errors -}}} - -namespace boost{ namespace container{ namespace dtl{ - namespace bi = boost::intrusive; - namespace bid = boost::intrusive::detail; -}}} - -namespace boost{ namespace container{ namespace pmr{ - namespace bi = boost::intrusive; - namespace bid = boost::intrusive::detail; -}}} - -#include - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -////////////////////////////////////////////////////////////////////////////// -// Containers -////////////////////////////////////////////////////////////////////////////// - -namespace boost { -namespace container { - -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -template -struct pair; - -template -class new_allocator; - -template -class vector; - -template -class stable_vector; - -template < class T - , std::size_t Capacity - , class Options = void> -class static_vector; - -template < class T - , class Allocator = void - , class Options = void > -class small_vector_base; - -template < class T - , std::size_t N - , class Allocator = void - , class Options = void > -class small_vector; - -template -class deque; - -template -class list; - -template -class slist; - -template - ,class Allocator = void - ,class Options = void> -class set; - -template - ,class Allocator = void - ,class Options = void > -class multiset; - -template - ,class Allocator = void - ,class Options = void > -class map; - -template - ,class Allocator = void - ,class Options = void > -class multimap; - -template - ,class Allocator = void > -class flat_set; - -template - ,class Allocator = void > -class flat_multiset; - -template - ,class Allocator = void > -class flat_map; - -template - ,class Allocator = void > -class flat_multimap; - -template - ,class Allocator = void > -class basic_string; - -typedef basic_string string; -typedef basic_string wstring; - -static const std::size_t ADP_nodes_per_block = 256u; -static const std::size_t ADP_max_free_blocks = 2u; -static const std::size_t ADP_overhead_percent = 1u; -static const std::size_t ADP_only_alignment = 0u; - -template < class T - , std::size_t NodesPerBlock = ADP_nodes_per_block - , std::size_t MaxFreeBlocks = ADP_max_free_blocks - , std::size_t OverheadPercent = ADP_overhead_percent - , unsigned Version = 2 - > -class adaptive_pool; - -template < class T - , unsigned Version = 2 - , unsigned int AllocationDisableMask = 0> -class allocator; - -static const std::size_t NodeAlloc_nodes_per_block = 256u; - -template - < class T - , std::size_t NodesPerBlock = NodeAlloc_nodes_per_block - , std::size_t Version = 2> -class node_allocator; - -namespace pmr { - -class memory_resource; - -template -class polymorphic_allocator; - -class monotonic_buffer_resource; - -struct pool_options; - -template -class resource_adaptor_imp; - -class unsynchronized_pool_resource; - -class synchronized_pool_resource; - -} //namespace pmr { - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! Type used to tag that the input range is -//! guaranteed to be ordered -struct ordered_range_t -{}; - -//! Value used to tag that the input range is -//! guaranteed to be ordered -static const ordered_range_t ordered_range = ordered_range_t(); - -//! Type used to tag that the input range is -//! guaranteed to be ordered and unique -struct ordered_unique_range_t - : public ordered_range_t -{}; - -//! Value used to tag that the input range is -//! guaranteed to be ordered and unique -static const ordered_unique_range_t ordered_unique_range = ordered_unique_range_t(); - -//! Type used to tag that the inserted values -//! should be default initialized -struct default_init_t -{}; - -//! Value used to tag that the inserted values -//! should be default initialized -static const default_init_t default_init = default_init_t(); -#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -//! Type used to tag that the inserted values -//! should be value initialized -struct value_init_t -{}; - -//! Value used to tag that the inserted values -//! should be value initialized -static const value_init_t value_init = value_init_t(); - -namespace container_detail_really_deep_namespace { - -//Otherwise, gcc issues a warning of previously defined -//anonymous_instance and unique_instance -struct dummy -{ - dummy() - { - (void)ordered_range; - (void)ordered_unique_range; - (void)default_init; - } -}; - -} //detail_really_deep_namespace { - - -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -}} //namespace boost { namespace container { - -#endif //#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP diff --git a/3rdparty/boost/boost/container/detail/std_fwd.hpp b/3rdparty/boost/boost/container/detail/std_fwd.hpp deleted file mode 100644 index a25c411e80..0000000000 --- a/3rdparty/boost/boost/container/detail/std_fwd.hpp +++ /dev/null @@ -1,59 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2014-2014. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP -#define BOOST_CONTAINER_DETAIL_STD_FWD_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif - -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -////////////////////////////////////////////////////////////////////////////// -// Standard predeclarations -////////////////////////////////////////////////////////////////////////////// - -#include -BOOST_MOVE_STD_NS_BEG - -template -class allocator; - -template -struct less; - -template -struct equal_to; - -template -struct pair; - -template -struct char_traits; - -struct input_iterator_tag; -struct forward_iterator_tag; -struct bidirectional_iterator_tag; -struct random_access_iterator_tag; - -template -class insert_iterator; - -struct allocator_arg_t; - -struct piecewise_construct_t; - -BOOST_MOVE_STD_NS_END -#include - -#endif //#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP diff --git a/3rdparty/boost/boost/detail/basic_pointerbuf.hpp b/3rdparty/boost/boost/detail/basic_pointerbuf.hpp deleted file mode 100644 index 85618f92ab..0000000000 --- a/3rdparty/boost/boost/detail/basic_pointerbuf.hpp +++ /dev/null @@ -1,139 +0,0 @@ -//----------------------------------------------------------------------------- -// boost detail/templated_streams.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2013 John Maddock, Antony Polukhin -// -// -// Distributed under the Boost Software 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_BASIC_POINTERBUF_HPP -#define BOOST_DETAIL_BASIC_POINTERBUF_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -#include "boost/config.hpp" -#include - -namespace boost { namespace detail { - -// -// class basic_pointerbuf: -// acts as a stream buffer which wraps around a pair of pointers: -// -template -class basic_pointerbuf : public BufferT { -protected: - typedef BufferT base_type; - typedef basic_pointerbuf this_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: - basic_pointerbuf() : base_type() { this_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 - -protected: - // VC mistakenly assumes that `setbuf` and other functions are not referenced. - // Marking those functions with `inline` suppresses the warnings. - // There must be no harm from marking virtual functions as inline: inline virtual - // call can be inlined ONLY when the compiler knows the "exact class". - inline base_type* setbuf(char_type* s, streamsize n); - inline typename this_type::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which); - inline typename this_type::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which); - -private: - basic_pointerbuf& operator=(const basic_pointerbuf&); - basic_pointerbuf(const basic_pointerbuf&); -}; - -template -BufferT* -basic_pointerbuf::setbuf(char_type* s, streamsize n) -{ - this->setg(s, s, s + n); - return this; -} - -template -typename basic_pointerbuf::pos_type -basic_pointerbuf::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) -{ - typedef typename boost::int_t::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(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(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(this->gptr() - this->eback()); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -typename basic_pointerbuf::pos_type -basic_pointerbuf::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(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)); -} - -}} // namespace boost::detail - -#endif // BOOST_DETAIL_BASIC_POINTERBUF_HPP - diff --git a/3rdparty/boost/boost/detail/fenv.hpp b/3rdparty/boost/boost/detail/fenv.hpp deleted file mode 100644 index b268f5c1cc..0000000000 --- a/3rdparty/boost/boost/detail/fenv.hpp +++ /dev/null @@ -1,101 +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 - -#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 - #include - - 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; - } } - -#elif defined(__MINGW32__) && defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 - - // MinGW (32-bit) has a bug in mingw32/bits/c++config.h, it does not define _GLIBCXX_HAVE_FENV_H, - // which prevents the C fenv.h header contents to be included in the C++ wrapper header fenv.h. This is at least - // the case with gcc 4.8.1 packages tested so far, up to 4.8.1-4. Note that there is no issue with - // MinGW-w64. - // To work around the bug we avoid including the C++ wrapper header and include the C header directly - // and import all relevant symbols into std:: ourselves. - - #include <../include/fenv.h> - - namespace std { - 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 - #endif - - #include - -#endif - -#endif /* BOOST_DETAIL_FENV_HPP */ diff --git a/3rdparty/boost/boost/detail/lcast_precision.hpp b/3rdparty/boost/boost/detail/lcast_precision.hpp deleted file mode 100644 index 84bf1222b1..0000000000 --- a/3rdparty/boost/boost/detail/lcast_precision.hpp +++ /dev/null @@ -1,185 +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 -#include -#include - -#include -#include - -#ifndef BOOST_NO_IS_ABSTRACT -// Fix for SF:1358600 - lexical_cast & pure virtual functions & VC 8 STL -#include -#include -#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 -#else -#include -#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 -struct lcast_precision -{ -#ifdef BOOST_NO_IS_ABSTRACT - typedef std::numeric_limits limits; // No fix for SF:1358600. -#else - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::is_abstract::value - , std::numeric_limits - , std::numeric_limits - >::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::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 -inline std::streamsize lcast_get_precision(T* = 0) -{ -#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION - return lcast_precision::value; -#else // Follow lcast_precision algorithm at run-time: - -#ifdef BOOST_NO_IS_ABSTRACT - typedef std::numeric_limits limits; // No fix for SF:1358600. -#else - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::is_abstract::value - , std::numeric_limits - , std::numeric_limits - >::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::max)(); - (void)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 -inline void lcast_set_precision(std::ios_base& stream, T*) -{ - stream.precision(lcast_get_precision()); -} - -template -inline void lcast_set_precision(std::ios_base& stream, Source*, Target*) -{ - std::streamsize const s = lcast_get_precision(static_cast(0)); - std::streamsize const t = lcast_get_precision(static_cast(0)); - stream.precision(s > t ? s : t); -} - -}} - -#endif // BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED - diff --git a/3rdparty/boost/boost/iterator/advance.hpp b/3rdparty/boost/boost/iterator/advance.hpp deleted file mode 100644 index 92af8fbfe6..0000000000 --- a/3rdparty/boost/boost/iterator/advance.hpp +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (C) 2017 Michel Morin. -// -// Distributed under the Boost Software 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_ADVANCE_HPP -#define BOOST_ITERATOR_ADVANCE_HPP - -#include -#include - -namespace boost { -namespace iterators { - - namespace detail { - template - inline BOOST_CXX14_CONSTEXPR void - advance_impl( - InputIterator& it - , Distance n - , incrementable_traversal_tag - ) - { - while (n > 0) { - ++it; - --n; - } - } - - template - inline BOOST_CXX14_CONSTEXPR void - advance_impl( - BidirectionalIterator& it - , Distance n - , bidirectional_traversal_tag - ) - { - if (n >= 0) { - while (n > 0) { - ++it; - --n; - } - } - else { - while (n < 0) { - --it; - ++n; - } - } - } - - template - inline BOOST_CXX14_CONSTEXPR void - advance_impl( - RandomAccessIterator& it - , Distance n - , random_access_traversal_tag - ) - { - it += n; - } - } - - namespace advance_adl_barrier { - template - inline BOOST_CXX14_CONSTEXPR void - advance(InputIterator& it, Distance n) - { - detail::advance_impl( - it, n, typename iterator_traversal::type() - ); - } - } - - using namespace advance_adl_barrier; - -} // namespace iterators - -using namespace iterators::advance_adl_barrier; - -} // namespace boost - -#endif diff --git a/3rdparty/boost/boost/iterator/distance.hpp b/3rdparty/boost/boost/iterator/distance.hpp deleted file mode 100644 index bef650b289..0000000000 --- a/3rdparty/boost/boost/iterator/distance.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (C) 2017 Michel Morin. -// -// Distributed under the Boost Software 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_DISTANCE_HPP -#define BOOST_ITERATOR_DISTANCE_HPP - -#include -#include -#include - -namespace boost { -namespace iterators { - - namespace detail { - template - inline BOOST_CXX14_CONSTEXPR typename iterator_difference::type - distance_impl( - SinglePassIterator first - , SinglePassIterator last - , single_pass_traversal_tag - ) - { - typename iterator_difference::type n = 0; - while (first != last) { - ++first; - ++n; - } - return n; - } - - template - inline BOOST_CXX14_CONSTEXPR typename iterator_difference::type - distance_impl( - RandomAccessIterator first - , RandomAccessIterator last - , random_access_traversal_tag - ) - { - return last - first; - } - } - - namespace distance_adl_barrier { - template - inline BOOST_CXX14_CONSTEXPR typename iterator_difference::type - distance(SinglePassIterator first, SinglePassIterator last) - { - return detail::distance_impl( - first, last, typename iterator_traversal::type() - ); - } - } - - using namespace distance_adl_barrier; - -} // namespace iterators - -using namespace iterators::distance_adl_barrier; - -} // namespace boost - -#endif diff --git a/3rdparty/boost/boost/iterator/iterator_concepts.hpp b/3rdparty/boost/boost/iterator/iterator_concepts.hpp deleted file mode 100644 index 415cc496a0..0000000000 --- a/3rdparty/boost/boost/iterator/iterator_concepts.hpp +++ /dev/null @@ -1,273 +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 -#include - -#include -#include - -#include -#include -#include -#include - -#include - -// Use boost/limits to work around missing limits headers on some compilers -#include -#include - -#include -#include - -#include - -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 - , boost::CopyConstructible - - { - typedef BOOST_DEDUCED_TYPENAME std::iterator_traits::value_type value_type; - typedef BOOST_DEDUCED_TYPENAME std::iterator_traits::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 std::iterator_traits::value_type - > - struct WritableIterator - : boost::CopyConstructible - { - BOOST_CONCEPT_USAGE(WritableIterator) - { - *i = v; - } - private: - ValueType v; - Iterator i; - }; - - template < - typename Iterator - , typename ValueType = BOOST_DEDUCED_TYPENAME std::iterator_traits::value_type - > - struct WritableIteratorConcept : WritableIterator {}; - - BOOST_concept(SwappableIterator,(Iterator)) - { - BOOST_CONCEPT_USAGE(SwappableIterator) - { - std::iter_swap(i1, i2); - } - private: - Iterator i1; - Iterator i2; - }; - - BOOST_concept(LvalueIterator,(Iterator)) - { - typedef typename std::iterator_traits::value_type value_type; - - BOOST_CONCEPT_USAGE(LvalueIterator) - { - value_type& r = const_cast(*i); - boost::ignore_unused_variable_warning(r); - } - private: - Iterator i; - }; - - - //=========================================================================== - // Iterator Traversal Concepts - - BOOST_concept(IncrementableIterator,(Iterator)) - : boost::Assignable - , boost::CopyConstructible - { - typedef typename boost::iterator_traversal::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 - , boost::EqualityComparable - - { - BOOST_CONCEPT_ASSERT(( - boost::Convertible< - BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category - , boost::single_pass_traversal_tag - > )); - }; - - BOOST_concept(ForwardTraversal,(Iterator)) - : SinglePassIterator - , boost::DefaultConstructible - { - typedef typename std::iterator_traits::difference_type difference_type; - - BOOST_MPL_ASSERT((boost::is_integral)); - BOOST_MPL_ASSERT_RELATION(std::numeric_limits::is_signed, ==, true); - - BOOST_CONCEPT_ASSERT(( - boost::Convertible< - BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category - , boost::forward_traversal_tag - > )); - }; - - BOOST_concept(BidirectionalTraversal,(Iterator)) - : ForwardTraversal - { - 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 - { - 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::difference_type n; - Iterator i, j; - }; - - //=========================================================================== - // Iterator Interoperability - - namespace detail - { - template - 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 - void interop_rand_access_constraints( - Iterator1 const& i1, Iterator2 const& i2, - boost::random_access_traversal_tag, boost::random_access_traversal_tag) - { - bool b; - typename std::iterator_traits::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 - 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::iterators::pure_iterator_traversal::type traversal_category; - typedef typename boost::iterators::pure_iterator_traversal::type const_traversal_category; - - public: - BOOST_CONCEPT_ASSERT((SinglePassIterator)); - BOOST_CONCEPT_ASSERT((SinglePassIterator)); - - 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 - -#endif // BOOST_ITERATOR_CONCEPTS_HPP diff --git a/3rdparty/boost/boost/lexical_cast.hpp b/3rdparty/boost/boost/lexical_cast.hpp deleted file mode 100644 index e5d6fcf3cc..0000000000 --- a/3rdparty/boost/boost/lexical_cast.hpp +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_INCLUDED -#define BOOST_LEXICAL_CAST_INCLUDED - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) -#define BOOST_LCAST_NO_WCHAR_T -#endif - -#include -#include -#include - -namespace boost -{ - template - inline Target lexical_cast(const Source &arg) - { - Target result = Target(); - - if (!boost::conversion::detail::try_lexical_convert(arg, result)) { - boost::conversion::detail::throw_bad_cast(); - } - - return result; - } - - template - inline Target lexical_cast(const char* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } - - template - inline Target lexical_cast(const unsigned char* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } - - template - inline Target lexical_cast(const signed char* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } - -#ifndef BOOST_LCAST_NO_WCHAR_T - template - inline Target lexical_cast(const wchar_t* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } -#endif -#ifndef BOOST_NO_CXX11_CHAR16_T - template - inline Target lexical_cast(const char16_t* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } -#endif -#ifndef BOOST_NO_CXX11_CHAR32_T - template - inline Target lexical_cast(const char32_t* chars, std::size_t count) - { - return ::boost::lexical_cast( - ::boost::iterator_range(chars, chars + count) - ); - } -#endif - -} // namespace boost - -#undef BOOST_LCAST_NO_WCHAR_T - -#endif // BOOST_LEXICAL_CAST_INCLUDED - diff --git a/3rdparty/boost/boost/lexical_cast/bad_lexical_cast.hpp b/3rdparty/boost/boost/lexical_cast/bad_lexical_cast.hpp deleted file mode 100644 index bf7b28acf0..0000000000 --- a/3rdparty/boost/boost/lexical_cast/bad_lexical_cast.hpp +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_BAD_LEXICAL_CAST_HPP -#define BOOST_LEXICAL_CAST_BAD_LEXICAL_CAST_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#include -#include -#include - -namespace boost -{ - // exception used to indicate runtime lexical_cast failure - class BOOST_SYMBOL_VISIBLE bad_lexical_cast : - // workaround MSVC bug with std::bad_cast when _HAS_EXCEPTIONS == 0 -#if defined(BOOST_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS - public std::exception -#else - public std::bad_cast -#endif - -#if defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, < 0x560 ) - // under bcc32 5.5.1 bad_cast doesn't derive from exception - , public std::exception -#endif - - { - public: - bad_lexical_cast() BOOST_NOEXCEPT -#ifndef BOOST_NO_TYPEID - : source(&typeid(void)), target(&typeid(void)) -#endif - {} - - virtual const char *what() const BOOST_NOEXCEPT_OR_NOTHROW { - return "bad lexical cast: " - "source type value could not be interpreted as target"; - } - - virtual ~bad_lexical_cast() BOOST_NOEXCEPT_OR_NOTHROW - {} - -#ifndef BOOST_NO_TYPEID - bad_lexical_cast( - const std::type_info &source_type_arg, - const std::type_info &target_type_arg) BOOST_NOEXCEPT - : source(&source_type_arg), target(&target_type_arg) - {} - - const std::type_info &source_type() const BOOST_NOEXCEPT { - return *source; - } - - const std::type_info &target_type() const BOOST_NOEXCEPT { - return *target; - } - - private: - const std::type_info *source; - const std::type_info *target; -#endif - }; - - namespace conversion { namespace detail { -#ifdef BOOST_NO_TYPEID - template - inline void throw_bad_cast() { - boost::throw_exception(bad_lexical_cast()); - } -#else - template - inline void throw_bad_cast() { - boost::throw_exception(bad_lexical_cast(typeid(S), typeid(T))); - } -#endif - }} // namespace conversion::detail - - -} // namespace boost - -#endif // BOOST_LEXICAL_CAST_BAD_LEXICAL_CAST_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/converter_lexical.hpp b/3rdparty/boost/boost/lexical_cast/detail/converter_lexical.hpp deleted file mode 100644 index 59c4c24f04..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/converter_lexical.hpp +++ /dev/null @@ -1,498 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_CONVERTER_LEXICAL_HPP -#define BOOST_LEXICAL_CAST_DETAIL_CONVERTER_LEXICAL_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) -#define BOOST_LCAST_NO_WCHAR_T -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#ifndef BOOST_NO_CXX11_HDR_ARRAY -#include -#endif - -#include -#include -#include - -#include - -namespace boost { - - namespace detail // normalize_single_byte_char - { - // Converts signed/unsigned char to char - template < class Char > - struct normalize_single_byte_char - { - typedef Char type; - }; - - template <> - struct normalize_single_byte_char< signed char > - { - typedef char type; - }; - - template <> - struct normalize_single_byte_char< unsigned char > - { - typedef char type; - }; - } - - namespace detail // deduce_character_type_later - { - // Helper type, meaning that stram character for T must be deduced - // at Stage 2 (See deduce_source_char and deduce_target_char) - template < class T > struct deduce_character_type_later {}; - } - - namespace detail // stream_char_common - { - // Selectors to choose stream character type (common for Source and Target) - // Returns one of char, wchar_t, char16_t, char32_t or deduce_character_type_later types - // Executed on Stage 1 (See deduce_source_char and deduce_target_char) - template < typename Type > - struct stream_char_common: public boost::conditional< - boost::detail::is_character< Type >::value, - Type, - boost::detail::deduce_character_type_later< Type > - > {}; - - template < typename Char > - struct stream_char_common< Char* >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< Char* > - > {}; - - template < typename Char > - struct stream_char_common< const Char* >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< const Char* > - > {}; - - template < typename Char > - struct stream_char_common< boost::iterator_range< Char* > >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::iterator_range< Char* > > - > {}; - - template < typename Char > - struct stream_char_common< boost::iterator_range< const Char* > >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::iterator_range< const Char* > > - > {}; - - template < class Char, class Traits, class Alloc > - struct stream_char_common< std::basic_string< Char, Traits, Alloc > > - { - typedef Char type; - }; - - template < class Char, class Traits, class Alloc > - struct stream_char_common< boost::container::basic_string< Char, Traits, Alloc > > - { - typedef Char type; - }; - - template < typename Char, std::size_t N > - struct stream_char_common< boost::array< Char, N > >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::array< Char, N > > - > {}; - - template < typename Char, std::size_t N > - struct stream_char_common< boost::array< const Char, N > >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< boost::array< const Char, N > > - > {}; - -#ifndef BOOST_NO_CXX11_HDR_ARRAY - template < typename Char, std::size_t N > - struct stream_char_common< std::array >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< std::array< Char, N > > - > {}; - - template < typename Char, std::size_t N > - struct stream_char_common< std::array< const Char, N > >: public boost::conditional< - boost::detail::is_character< Char >::value, - Char, - boost::detail::deduce_character_type_later< std::array< const Char, N > > - > {}; -#endif - -#ifdef BOOST_HAS_INT128 - template <> struct stream_char_common< boost::int128_type >: public boost::type_identity< char > {}; - template <> struct stream_char_common< boost::uint128_type >: public boost::type_identity< char > {}; -#endif - -#if !defined(BOOST_LCAST_NO_WCHAR_T) && defined(BOOST_NO_INTRINSIC_WCHAR_T) - template <> - struct stream_char_common< wchar_t > - { - typedef char type; - }; -#endif - } - - namespace detail // deduce_source_char_impl - { - // If type T is `deduce_character_type_later` type, then tries to deduce - // character type using boost::has_left_shift metafunction. - // Otherwise supplied type T is a character type, that must be normalized - // using normalize_single_byte_char. - // Executed at Stage 2 (See deduce_source_char and deduce_target_char) - template < class Char > - struct deduce_source_char_impl - { - typedef BOOST_DEDUCED_TYPENAME boost::detail::normalize_single_byte_char< Char >::type type; - }; - - template < class T > - struct deduce_source_char_impl< deduce_character_type_later< T > > - { - typedef boost::has_left_shift< std::basic_ostream< char >, T > result_t; - -#if defined(BOOST_LCAST_NO_WCHAR_T) - BOOST_STATIC_ASSERT_MSG((result_t::value), - "Source type is not std::ostream`able and std::wostream`s are not supported by your STL implementation"); - typedef char type; -#else - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - result_t::value, char, wchar_t - >::type type; - - BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_left_shift< std::basic_ostream< type >, T >::value), - "Source type is neither std::ostream`able nor std::wostream`able"); -#endif - }; - } - - namespace detail // deduce_target_char_impl - { - // If type T is `deduce_character_type_later` type, then tries to deduce - // character type using boost::has_right_shift metafunction. - // Otherwise supplied type T is a character type, that must be normalized - // using normalize_single_byte_char. - // Executed at Stage 2 (See deduce_source_char and deduce_target_char) - template < class Char > - struct deduce_target_char_impl - { - typedef BOOST_DEDUCED_TYPENAME normalize_single_byte_char< Char >::type type; - }; - - template < class T > - struct deduce_target_char_impl< deduce_character_type_later > - { - typedef boost::has_right_shift, T > result_t; - -#if defined(BOOST_LCAST_NO_WCHAR_T) - BOOST_STATIC_ASSERT_MSG((result_t::value), - "Target type is not std::istream`able and std::wistream`s are not supported by your STL implementation"); - typedef char type; -#else - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - result_t::value, char, wchar_t - >::type type; - - BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift, T >::value), - "Target type is neither std::istream`able nor std::wistream`able"); -#endif - }; - } - - namespace detail // deduce_target_char and deduce_source_char - { - // We deduce stream character types in two stages. - // - // Stage 1 is common for Target and Source. At Stage 1 we get - // non normalized character type (may contain unsigned/signed char) - // or deduce_character_type_later where T is the original type. - // Stage 1 is executed by stream_char_common - // - // At Stage 2 we normalize character types or try to deduce character - // type using metafunctions. - // Stage 2 is executed by deduce_target_char_impl and - // deduce_source_char_impl - // - // deduce_target_char and deduce_source_char functions combine - // both stages - - template < class T > - struct deduce_target_char - { - typedef BOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type; - typedef BOOST_DEDUCED_TYPENAME deduce_target_char_impl< stage1_type >::type stage2_type; - - typedef stage2_type type; - }; - - template < class T > - struct deduce_source_char - { - typedef BOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type; - typedef BOOST_DEDUCED_TYPENAME deduce_source_char_impl< stage1_type >::type stage2_type; - - typedef stage2_type type; - }; - } - - namespace detail // extract_char_traits template - { - // We are attempting to get char_traits<> from T - // template parameter. Otherwise we'll be using std::char_traits - template < class Char, class T > - struct extract_char_traits - : boost::false_type - { - typedef std::char_traits< Char > trait_t; - }; - - template < class Char, class Traits, class Alloc > - struct extract_char_traits< Char, std::basic_string< Char, Traits, Alloc > > - : boost::true_type - { - typedef Traits trait_t; - }; - - template < class Char, class Traits, class Alloc> - struct extract_char_traits< Char, boost::container::basic_string< Char, Traits, Alloc > > - : boost::true_type - { - typedef Traits trait_t; - }; - } - - namespace detail // array_to_pointer_decay - { - template - struct array_to_pointer_decay - { - typedef T type; - }; - - template - struct array_to_pointer_decay - { - typedef const T * type; - }; - } - - namespace detail // lcast_src_length - { - // Return max. length of string representation of Source; - template< class Source, // Source type of lexical_cast. - class Enable = void // helper type - > - struct lcast_src_length - { - BOOST_STATIC_CONSTANT(std::size_t, value = 1); - }; - - // Helper for integral types. - // Notes on length calculation: - // Max length for 32bit int with grouping "\1" and thousands_sep ',': - // "-2,1,4,7,4,8,3,6,4,7" - // ^ - is_signed - // ^ - 1 digit not counted by digits10 - // ^^^^^^^^^^^^^^^^^^ - digits10 * 2 - // - // Constant is_specialized is used instead of constant 1 - // to prevent buffer overflow in a rare case when - // doesn't add missing specialization for - // numeric_limits for some integral type T. - // When is_specialized is false, the whole expression is 0. - template - struct lcast_src_length< - Source, BOOST_DEDUCED_TYPENAME boost::enable_if >::type - > - { -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_CONSTANT(std::size_t, value = - std::numeric_limits::is_signed + - std::numeric_limits::is_specialized + /* == 1 */ - std::numeric_limits::digits10 * 2 - ); -#else - BOOST_STATIC_CONSTANT(std::size_t, value = 156); - BOOST_STATIC_ASSERT(sizeof(Source) * CHAR_BIT <= 256); -#endif - }; - - // Helper for floating point types. - // -1.23456789e-123456 - // ^ sign - // ^ leading digit - // ^ decimal point - // ^^^^^^^^ lcast_precision::value - // ^ "e" - // ^ exponent sign - // ^^^^^^ exponent (assumed 6 or less digits) - // sign + leading digit + decimal point + "e" + exponent sign == 5 - template - struct lcast_src_length< - Source, BOOST_DEDUCED_TYPENAME boost::enable_if >::type - > - { - -#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION - BOOST_STATIC_ASSERT( - std::numeric_limits::max_exponent10 <= 999999L && - std::numeric_limits::min_exponent10 >= -999999L - ); - - BOOST_STATIC_CONSTANT(std::size_t, value = - 5 + lcast_precision::value + 6 - ); -#else // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION - BOOST_STATIC_CONSTANT(std::size_t, value = 156); -#endif // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION - }; - } - - namespace detail // lexical_cast_stream_traits - { - template - struct lexical_cast_stream_traits { - typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay::type src; - typedef BOOST_DEDUCED_TYPENAME boost::remove_cv::type no_cv_src; - - typedef boost::detail::deduce_source_char deduce_src_char_metafunc; - typedef BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::type src_char_t; - typedef BOOST_DEDUCED_TYPENAME boost::detail::deduce_target_char::type target_char_t; - - typedef BOOST_DEDUCED_TYPENAME boost::detail::widest_char< - target_char_t, src_char_t - >::type char_type; - -#if !defined(BOOST_NO_CXX11_CHAR16_T) && defined(BOOST_NO_CXX11_UNICODE_LITERALS) - BOOST_STATIC_ASSERT_MSG(( !boost::is_same::value - && !boost::is_same::value), - "Your compiler does not have full support for char16_t" ); -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && defined(BOOST_NO_CXX11_UNICODE_LITERALS) - BOOST_STATIC_ASSERT_MSG(( !boost::is_same::value - && !boost::is_same::value), - "Your compiler does not have full support for char32_t" ); -#endif - - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::detail::extract_char_traits::value, - BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits, - BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits - >::type::trait_t traits; - - typedef boost::integral_constant< - bool, - boost::is_same::value && // source is not a wide character based type - (sizeof(char) != sizeof(target_char_t)) && // target type is based on wide character - (!(boost::detail::is_character::value)) - > is_string_widening_required_t; - - typedef boost::integral_constant< - bool, - !(boost::is_integral::value || - boost::detail::is_character< - BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::stage1_type // if we did not get character type at stage1 - >::value // then we have no optimization for that type - ) - > 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 = - (is_string_widening_required_t::value || is_source_input_not_optimized_t::value) - ); - - typedef boost::detail::lcast_src_length len_t; - }; - } - - namespace detail - { - template - struct lexical_converter_impl - { - typedef lexical_cast_stream_traits stream_trait; - - typedef detail::lexical_istream_limited_src< - BOOST_DEDUCED_TYPENAME stream_trait::char_type, - BOOST_DEDUCED_TYPENAME stream_trait::traits, - stream_trait::requires_stringbuf, - stream_trait::len_t::value + 1 - > i_interpreter_type; - - typedef detail::lexical_ostream_limited_src< - BOOST_DEDUCED_TYPENAME stream_trait::char_type, - BOOST_DEDUCED_TYPENAME stream_trait::traits - > o_interpreter_type; - - static inline bool try_convert(const Source& arg, Target& result) { - i_interpreter_type i_interpreter; - - // Disabling ADL, by directly specifying operators. - if (!(i_interpreter.operator <<(arg))) - return false; - - o_interpreter_type out(i_interpreter.cbegin(), i_interpreter.cend()); - - // Disabling ADL, by directly specifying operators. - if(!(out.operator >>(result))) - return false; - - return true; - } - }; - } - -} // namespace boost - -#undef BOOST_LCAST_NO_WCHAR_T - -#endif // BOOST_LEXICAL_CAST_DETAIL_CONVERTER_LEXICAL_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/converter_lexical_streams.hpp b/3rdparty/boost/boost/lexical_cast/detail/converter_lexical_streams.hpp deleted file mode 100644 index 2906846a96..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/converter_lexical_streams.hpp +++ /dev/null @@ -1,786 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014, Nowember 2016 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_CONVERTER_LEXICAL_STREAMS_HPP -#define BOOST_LEXICAL_CAST_DETAIL_CONVERTER_LEXICAL_STREAMS_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - - -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) -#define BOOST_LCAST_NO_WCHAR_T -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#ifndef BOOST_NO_STD_LOCALE -# include -#else -# ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - // Getting error at this point means, that your STL library is old/lame/misconfigured. - // If nothing can be done with STL library, define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE, - // but beware: lexical_cast will understand only 'C' locale delimeters and thousands - // separators. -# error "Unable to use header. Define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE to force " -# error "boost::lexical_cast to use only 'C' locale during conversions." -# endif -#endif - -#ifdef BOOST_NO_STRINGSTREAM -#include -#else -#include -#endif - -#include -#include -#include - -#include - -#ifndef BOOST_NO_CXX11_HDR_ARRAY -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef BOOST_NO_CWCHAR -# include -#endif - -namespace boost { - - namespace detail // basic_unlockedbuf - { - // acts as a stream buffer which wraps around a pair of pointers - // and gives acces to internals - template - class basic_unlockedbuf : public basic_pointerbuf { - public: - typedef basic_pointerbuf base_type; - typedef BOOST_DEDUCED_TYPENAME base_type::streamsize streamsize; - -#ifndef BOOST_NO_USING_TEMPLATE - using base_type::pptr; - using base_type::pbase; - using base_type::setbuf; -#else - charT* pptr() const { return base_type::pptr(); } - charT* pbase() const { return base_type::pbase(); } - BufferType* setbuf(char_type* s, streamsize n) { return base_type::setbuf(s, n); } -#endif - }; - } - - namespace detail - { - struct do_not_construct_out_buffer_t{}; - struct do_not_construct_out_stream_t{ - do_not_construct_out_stream_t(do_not_construct_out_buffer_t*){} - }; - - template - struct out_stream_helper_trait { -#if defined(BOOST_NO_STRINGSTREAM) - typedef std::ostream out_stream_t; - typedef basic_unlockedbuf stringbuffer_t; -#elif defined(BOOST_NO_STD_LOCALE) - typedef std::ostream out_stream_t; - typedef basic_unlockedbuf stringbuffer_t; - typedef basic_unlockedbuf buffer_t; -#else - typedef std::basic_ostream out_stream_t; - typedef basic_unlockedbuf, CharT> stringbuffer_t; - typedef basic_unlockedbuf, CharT> buffer_t; -#endif - }; - } - - namespace detail // optimized stream wrappers - { - template< class CharT // a result of widest_char transformation - , class Traits - , bool RequiresStringbuffer - , std::size_t CharacterBufferSize - > - class lexical_istream_limited_src: boost::noncopyable { - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - RequiresStringbuffer, - BOOST_DEDUCED_TYPENAME out_stream_helper_trait::out_stream_t, - do_not_construct_out_stream_t - >::type deduced_out_stream_t; - - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - RequiresStringbuffer, - BOOST_DEDUCED_TYPENAME out_stream_helper_trait::stringbuffer_t, - do_not_construct_out_buffer_t - >::type deduced_out_buffer_t; - - deduced_out_buffer_t out_buffer; - deduced_out_stream_t out_stream; - CharT buffer[CharacterBufferSize]; - - // After the `operator <<` finishes, `[start, finish)` is - // the range to output by `operator >>` - const CharT* start; - const CharT* finish; - - public: - lexical_istream_limited_src() BOOST_NOEXCEPT - : out_buffer() - , out_stream(&out_buffer) - , start(buffer) - , finish(buffer + CharacterBufferSize) - {} - - const CharT* cbegin() const BOOST_NOEXCEPT { - return start; - } - - const CharT* cend() const BOOST_NOEXCEPT { - return finish; - } - - private: -/************************************ HELPER FUNCTIONS FOR OPERATORS << ( ... ) ********************************/ - bool shl_char(CharT ch) BOOST_NOEXCEPT { - Traits::assign(buffer[0], ch); - finish = start + 1; - return true; - } - -#ifndef BOOST_LCAST_NO_WCHAR_T - template - bool shl_char(T ch) { - BOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)) , - "boost::lexical_cast does not support narrowing of char types." - "Use boost::locale instead" ); -#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - std::locale loc; - CharT const w = BOOST_USE_FACET(std::ctype, loc).widen(ch); -#else - CharT const w = static_cast(ch); -#endif - Traits::assign(buffer[0], w); - finish = start + 1; - return true; - } -#endif - - bool shl_char_array(CharT const* str_value) BOOST_NOEXCEPT { - start = str_value; - finish = start + Traits::length(str_value); - return true; - } - - template - bool shl_char_array(T const* str_value) { - 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_value); - } - - bool shl_char_array_limited(CharT const* str, std::size_t max_size) BOOST_NOEXCEPT { - start = str; - finish = std::find(start, start + max_size, Traits::to_char_type(0)); - return true; - } - - template - bool shl_input_streamable(InputStreamable& input) { -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE) - // If you have compilation error at this point, than your STL library - // does not support such conversions. Try updating it. - BOOST_STATIC_ASSERT((boost::is_same::value)); -#endif - -#ifndef BOOST_NO_EXCEPTIONS - out_stream.exceptions(std::ios::badbit); - try { -#endif - bool const result = !(out_stream << input).fail(); - const deduced_out_buffer_t* const p = static_cast( - out_stream.rdbuf() - ); - start = p->pbase(); - finish = p->pptr(); - return result; -#ifndef BOOST_NO_EXCEPTIONS - } catch (const ::std::ios_base::failure& /*f*/) { - return false; - } -#endif - } - - template - inline bool shl_unsigned(const T n) { - CharT* tmp_finish = buffer + CharacterBufferSize; - start = lcast_put_unsigned(n, tmp_finish).convert(); - finish = tmp_finish; - return true; - } - - template - inline bool shl_signed(const T n) { - CharT* tmp_finish = buffer + CharacterBufferSize; - typedef BOOST_DEDUCED_TYPENAME boost::make_unsigned::type utype; - CharT* tmp_start = lcast_put_unsigned(lcast_to_unsigned(n), tmp_finish).convert(); - if (n < 0) { - --tmp_start; - CharT const minus = lcast_char_constants::minus; - Traits::assign(*tmp_start, minus); - } - start = tmp_start; - finish = tmp_finish; - return true; - } - - template - bool shl_real_type(const T& val, SomeCharT* /*begin*/) { - lcast_set_precision(out_stream, &val); - return shl_input_streamable(val); - } - - bool shl_real_type(float val, char* begin) { - using namespace std; - const double val_as_double = val; - finish = start + -#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) - sprintf_s(begin, CharacterBufferSize, -#else - sprintf(begin, -#endif - "%.*g", static_cast(boost::detail::lcast_get_precision()), val_as_double); - return finish > start; - } - - bool shl_real_type(double val, char* begin) { - using namespace std; - finish = start + -#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) - sprintf_s(begin, CharacterBufferSize, -#else - sprintf(begin, -#endif - "%.*g", static_cast(boost::detail::lcast_get_precision()), val); - return finish > start; - } - -#ifndef __MINGW32__ - bool shl_real_type(long double val, char* begin) { - using namespace std; - finish = start + -#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) - sprintf_s(begin, CharacterBufferSize, -#else - sprintf(begin, -#endif - "%.*Lg", static_cast(boost::detail::lcast_get_precision()), val ); - return finish > start; - } -#endif - - -#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__) - bool shl_real_type(float val, wchar_t* begin) { - using namespace std; - const double val_as_double = val; - finish = start + swprintf(begin, CharacterBufferSize, - L"%.*g", - static_cast(boost::detail::lcast_get_precision()), - val_as_double ); - return finish > start; - } - - bool shl_real_type(double val, wchar_t* begin) { - using namespace std; - finish = start + swprintf(begin, CharacterBufferSize, - L"%.*g", static_cast(boost::detail::lcast_get_precision()), val ); - return finish > start; - } - - bool shl_real_type(long double val, wchar_t* begin) { - using namespace std; - finish = start + swprintf(begin, CharacterBufferSize, - L"%.*Lg", static_cast(boost::detail::lcast_get_precision()), val ); - return finish > start; - } -#endif - template - bool shl_real(T val) { - CharT* tmp_finish = buffer + CharacterBufferSize; - if (put_inf_nan(buffer, tmp_finish, val)) { - finish = tmp_finish; - return true; - } - - return shl_real_type(val, static_cast(buffer)); - } - -/************************************ OPERATORS << ( ... ) ********************************/ - public: - template - bool operator<<(std::basic_string const& str) BOOST_NOEXCEPT { - start = str.data(); - finish = start + str.length(); - return true; - } - - template - bool operator<<(boost::container::basic_string const& str) BOOST_NOEXCEPT { - start = str.data(); - finish = start + str.length(); - return true; - } - - bool operator<<(bool value) BOOST_NOEXCEPT { - CharT const czero = lcast_char_constants::zero; - Traits::assign(buffer[0], Traits::to_char_type(czero + value)); - finish = start + 1; - return true; - } - - template - BOOST_DEDUCED_TYPENAME boost::disable_if, bool>::type - operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - return (*this) << iterator_range(rng.begin(), rng.end()); - } - - bool operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - start = rng.begin(); - finish = rng.end(); - return true; - } - - bool operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - return (*this) << iterator_range( - reinterpret_cast(rng.begin()), - reinterpret_cast(rng.end()) - ); - } - - bool operator<<(const iterator_range& rng) BOOST_NOEXCEPT { - return (*this) << iterator_range( - reinterpret_cast(rng.begin()), - reinterpret_cast(rng.end()) - ); - } - - bool operator<<(char ch) { return shl_char(ch); } - bool operator<<(unsigned char ch) { return ((*this) << static_cast(ch)); } - bool operator<<(signed char ch) { return ((*this) << static_cast(ch)); } -#if !defined(BOOST_LCAST_NO_WCHAR_T) - bool operator<<(wchar_t const* str) { return shl_char_array(str); } - bool operator<<(wchar_t * str) { return shl_char_array(str); } -#ifndef BOOST_NO_INTRINSIC_WCHAR_T - bool operator<<(wchar_t ch) { return shl_char(ch); } -#endif -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator<<(char16_t ch) { return shl_char(ch); } - bool operator<<(char16_t * str) { return shl_char_array(str); } - bool operator<<(char16_t const * str) { return shl_char_array(str); } -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator<<(char32_t ch) { return shl_char(ch); } - bool operator<<(char32_t * str) { return shl_char_array(str); } - bool operator<<(char32_t const * str) { return shl_char_array(str); } -#endif - bool operator<<(unsigned char const* ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(unsigned char * ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(signed char const* ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(signed char * ch) { return ((*this) << reinterpret_cast(ch)); } - bool operator<<(char const* str_value) { return shl_char_array(str_value); } - bool operator<<(char* str_value) { return shl_char_array(str_value); } - bool operator<<(short n) { return shl_signed(n); } - bool operator<<(int n) { return shl_signed(n); } - bool operator<<(long n) { return shl_signed(n); } - bool operator<<(unsigned short n) { return shl_unsigned(n); } - bool operator<<(unsigned int n) { return shl_unsigned(n); } - bool operator<<(unsigned long n) { return shl_unsigned(n); } - -#if defined(BOOST_HAS_LONG_LONG) - bool operator<<(boost::ulong_long_type n) { return shl_unsigned(n); } - bool operator<<(boost::long_long_type n) { return shl_signed(n); } -#elif defined(BOOST_HAS_MS_INT64) - bool operator<<(unsigned __int64 n) { return shl_unsigned(n); } - bool operator<<( __int64 n) { return shl_signed(n); } -#endif - -#ifdef BOOST_HAS_INT128 - bool operator<<(const boost::uint128_type& n) { return shl_unsigned(n); } - bool operator<<(const boost::int128_type& n) { return shl_signed(n); } -#endif - bool operator<<(float val) { return shl_real(val); } - bool operator<<(double val) { return shl_real(val); } - bool operator<<(long double val) { -#ifndef __MINGW32__ - return shl_real(val); -#else - return shl_real(static_cast(val)); -#endif - } - - // Adding constness to characters. Constness does not change layout - template - BOOST_DEDUCED_TYPENAME boost::disable_if, bool>::type - operator<<(boost::array const& input) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - (sizeof(boost::array) == sizeof(boost::array)), - "boost::array and boost::array must have exactly the same layout." - ); - return ((*this) << reinterpret_cast const& >(input)); - } - - template - bool operator<<(boost::array const& input) BOOST_NOEXCEPT { - return shl_char_array_limited(input.data(), N); - } - - template - bool operator<<(boost::array const& input) BOOST_NOEXCEPT { - return ((*this) << reinterpret_cast const& >(input)); - } - - template - bool operator<<(boost::array const& input) BOOST_NOEXCEPT { - return ((*this) << reinterpret_cast const& >(input)); - } - -#ifndef BOOST_NO_CXX11_HDR_ARRAY - // Making a Boost.Array from std::array - template - bool operator<<(std::array const& input) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - (sizeof(std::array) == sizeof(boost::array)), - "std::array and boost::array must have exactly the same layout. " - "Bug in implementation of std::array or boost::array." - ); - return ((*this) << reinterpret_cast const& >(input)); - } -#endif - template - bool operator<<(const InStreamable& input) { return shl_input_streamable(input); } - }; - - - template - class lexical_ostream_limited_src: boost::noncopyable { - //`[start, finish)` is the range to output by `operator >>` - const CharT* start; - const CharT* const finish; - - public: - lexical_ostream_limited_src(const CharT* begin, const CharT* end) BOOST_NOEXCEPT - : start(begin) - , finish(end) - {} - -/************************************ HELPER FUNCTIONS FOR OPERATORS >> ( ... ) ********************************/ - private: - template - bool shr_unsigned(Type& output) { - if (start == finish) return false; - CharT const minus = lcast_char_constants::minus; - CharT const plus = lcast_char_constants::plus; - bool const has_minus = Traits::eq(minus, *start); - - /* We won`t use `start' any more, so no need in decrementing it after */ - if (has_minus || Traits::eq(plus, *start)) { - ++start; - } - - bool const succeed = lcast_ret_unsigned(output, start, finish).convert(); - - if (has_minus) { - output = static_cast(0u - output); - } - - return succeed; - } - - template - bool shr_signed(Type& output) { - if (start == finish) return false; - CharT const minus = lcast_char_constants::minus; - CharT const plus = lcast_char_constants::plus; - typedef BOOST_DEDUCED_TYPENAME make_unsigned::type utype; - utype out_tmp = 0; - bool const has_minus = Traits::eq(minus, *start); - - /* We won`t use `start' any more, so no need in decrementing it after */ - if (has_minus || Traits::eq(plus, *start)) { - ++start; - } - - bool succeed = lcast_ret_unsigned(out_tmp, start, finish).convert(); - if (has_minus) { - utype const comp_val = (static_cast(1) << std::numeric_limits::digits); - succeed = succeed && out_tmp<=comp_val; - output = static_cast(0u - out_tmp); - } else { - utype const comp_val = static_cast((std::numeric_limits::max)()); - succeed = succeed && out_tmp<=comp_val; - output = static_cast(out_tmp); - } - return succeed; - } - - template - bool shr_using_base_class(InputStreamable& output) - { - BOOST_STATIC_ASSERT_MSG( - (!boost::is_pointer::value), - "boost::lexical_cast can not convert to pointers" - ); - -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE) - BOOST_STATIC_ASSERT_MSG((boost::is_same::value), - "boost::lexical_cast can not convert, because your STL library does not " - "support such conversions. Try updating it." - ); -#endif - -#if defined(BOOST_NO_STRINGSTREAM) - std::istrstream stream(start, static_cast(finish - start)); -#else - typedef BOOST_DEDUCED_TYPENAME out_stream_helper_trait::buffer_t buffer_t; - buffer_t buf; - // Usually `istream` and `basic_istream` do not modify - // content of buffer; `buffer_t` assures that this is true - buf.setbuf(const_cast(start), static_cast(finish - start)); -#if defined(BOOST_NO_STD_LOCALE) - std::istream stream(&buf); -#else - std::basic_istream stream(&buf); -#endif // BOOST_NO_STD_LOCALE -#endif // BOOST_NO_STRINGSTREAM - -#ifndef BOOST_NO_EXCEPTIONS - stream.exceptions(std::ios::badbit); - try { -#endif - stream.unsetf(std::ios::skipws); - lcast_set_precision(stream, static_cast(0)); - - return (stream >> output) - && (stream.get() == Traits::eof()); - -#ifndef BOOST_NO_EXCEPTIONS - } catch (const ::std::ios_base::failure& /*f*/) { - return false; - } -#endif - } - - template - inline bool shr_xchar(T& output) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG(( sizeof(CharT) == sizeof(T) ), - "boost::lexical_cast does not support narrowing of character types." - "Use boost::locale instead" ); - bool const ok = (finish - start == 1); - if (ok) { - CharT out; - Traits::assign(out, *start); - output = static_cast(out); - } - return ok; - } - - template - bool shr_std_array(ArrayT& output) BOOST_NOEXCEPT { - using namespace std; - const std::size_t size = static_cast(finish - start); - if (size > N - 1) { // `-1` because we need to store \0 at the end - return false; - } - - memcpy(&output[0], start, size * sizeof(CharT)); - output[size] = Traits::to_char_type(0); - return true; - } - -/************************************ OPERATORS >> ( ... ) ********************************/ - public: - bool operator>>(unsigned short& output) { return shr_unsigned(output); } - bool operator>>(unsigned int& output) { return shr_unsigned(output); } - bool operator>>(unsigned long int& output) { return shr_unsigned(output); } - bool operator>>(short& output) { return shr_signed(output); } - bool operator>>(int& output) { return shr_signed(output); } - bool operator>>(long int& output) { return shr_signed(output); } -#if defined(BOOST_HAS_LONG_LONG) - bool operator>>(boost::ulong_long_type& output) { return shr_unsigned(output); } - bool operator>>(boost::long_long_type& output) { return shr_signed(output); } -#elif defined(BOOST_HAS_MS_INT64) - bool operator>>(unsigned __int64& output) { return shr_unsigned(output); } - bool operator>>(__int64& output) { return shr_signed(output); } -#endif - -#ifdef BOOST_HAS_INT128 - bool operator>>(boost::uint128_type& output) { return shr_unsigned(output); } - bool operator>>(boost::int128_type& output) { return shr_signed(output); } -#endif - - bool operator>>(char& output) { return shr_xchar(output); } - bool operator>>(unsigned char& output) { return shr_xchar(output); } - bool operator>>(signed char& output) { return shr_xchar(output); } -#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) - bool operator>>(wchar_t& output) { return shr_xchar(output); } -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator>>(char16_t& output) { return shr_xchar(output); } -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - bool operator>>(char32_t& output) { return shr_xchar(output); } -#endif - template - bool operator>>(std::basic_string& str) { - str.assign(start, finish); return true; - } - - template - bool operator>>(boost::container::basic_string& str) { - str.assign(start, finish); return true; - } - - template - bool operator>>(boost::array& output) BOOST_NOEXCEPT { - return shr_std_array(output); - } - - template - bool operator>>(boost::array& output) BOOST_NOEXCEPT { - return ((*this) >> reinterpret_cast& >(output)); - } - - template - bool operator>>(boost::array& output) BOOST_NOEXCEPT { - return ((*this) >> reinterpret_cast& >(output)); - } - -#ifndef BOOST_NO_CXX11_HDR_ARRAY - template - bool operator>>(std::array& output) BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - (sizeof(std::array) == sizeof(boost::array)), - "std::array and boost::array must have exactly the same layout." - ); - return ((*this) >> reinterpret_cast& >(output)); - } -#endif - - bool operator>>(bool& output) BOOST_NOEXCEPT { - output = false; // Suppress warning about uninitalized variable - - if (start == finish) return false; - CharT const zero = lcast_char_constants::zero; - CharT const plus = lcast_char_constants::plus; - CharT const minus = lcast_char_constants::minus; - - const CharT* const dec_finish = finish - 1; - output = Traits::eq(*dec_finish, zero + 1); - if (!output && !Traits::eq(*dec_finish, zero)) { - return false; // Does not ends on '0' or '1' - } - - if (start == dec_finish) return true; - - // We may have sign at the beginning - if (Traits::eq(plus, *start) || (Traits::eq(minus, *start) && !output)) { - ++ start; - } - - // Skipping zeros - while (start != dec_finish) { - if (!Traits::eq(zero, *start)) { - return false; // Not a zero => error - } - - ++ start; - } - - return true; - } - - private: - // Not optimised converter - template - bool float_types_converter_internal(T& output) { - if (parse_inf_nan(start, finish, output)) return true; - bool const return_value = shr_using_base_class(output); - - /* Some compilers and libraries successfully - * parse 'inf', 'INFINITY', '1.0E', '1.0E-'... - * We are trying to provide a unified behaviour, - * so we just forbid such conversions (as some - * of the most popular compilers/libraries do) - * */ - CharT const minus = lcast_char_constants::minus; - CharT const plus = lcast_char_constants::plus; - CharT const capital_e = lcast_char_constants::capital_e; - CharT const lowercase_e = lcast_char_constants::lowercase_e; - if ( return_value && - ( - Traits::eq(*(finish-1), lowercase_e) // 1.0e - || Traits::eq(*(finish-1), capital_e) // 1.0E - || Traits::eq(*(finish-1), minus) // 1.0e- or 1.0E- - || Traits::eq(*(finish-1), plus) // 1.0e+ or 1.0E+ - ) - ) return false; - - return return_value; - } - - public: - bool operator>>(float& output) { return float_types_converter_internal(output); } - bool operator>>(double& output) { return float_types_converter_internal(output); } - bool operator>>(long double& output) { return float_types_converter_internal(output); } - - // Generic istream-based algorithm. - // lcast_streambuf_for_target::value is true. - template - bool operator>>(InputStreamable& output) { - return shr_using_base_class(output); - } - }; - } -} // namespace boost - -#undef BOOST_LCAST_NO_WCHAR_T - -#endif // BOOST_LEXICAL_CAST_DETAIL_CONVERTER_LEXICAL_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/converter_numeric.hpp b/3rdparty/boost/boost/lexical_cast/detail/converter_numeric.hpp deleted file mode 100644 index 1488fd5765..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/converter_numeric.hpp +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// 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 - 2016 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_CONVERTER_NUMERIC_HPP -#define BOOST_LEXICAL_CAST_DETAIL_CONVERTER_NUMERIC_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace detail { - -template -struct detect_precision_loss -{ - typedef Source source_type; - typedef boost::numeric::Trunc Rounder; - typedef BOOST_DEDUCED_TYPENAME conditional< - boost::is_arithmetic::value, Source, Source const& - >::type argument_type ; - - static inline source_type nearbyint(argument_type s, bool& is_ok) BOOST_NOEXCEPT { - const source_type near_int = Rounder::nearbyint(s); - if (near_int && is_ok) { - const source_type orig_div_round = s / near_int; - const source_type eps = std::numeric_limits::epsilon(); - - is_ok = !((orig_div_round > 1 ? orig_div_round - 1 : 1 - orig_div_round) > eps); - } - - return s; - } - - typedef typename Rounder::round_style round_style; -}; - -template -struct fake_precision_loss: public Base -{ - typedef Source source_type ; - typedef BOOST_DEDUCED_TYPENAME conditional< - boost::is_arithmetic::value, Source, Source const& - >::type argument_type ; - - static inline source_type nearbyint(argument_type s, bool& /*is_ok*/) BOOST_NOEXCEPT { - return s; - } -}; - -struct nothrow_overflow_handler -{ - inline bool operator() ( boost::numeric::range_check_result r ) const BOOST_NOEXCEPT { - return (r == boost::numeric::cInRange); - } -}; - -template -inline bool noexcept_numeric_convert(const Source& arg, Target& result) BOOST_NOEXCEPT { - typedef boost::numeric::converter< - Target, - Source, - boost::numeric::conversion_traits, - nothrow_overflow_handler, - detect_precision_loss - > converter_orig_t; - - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::is_base_of< detect_precision_loss, converter_orig_t >::value, - converter_orig_t, - fake_precision_loss - >::type converter_t; - - bool res = nothrow_overflow_handler()(converter_t::out_of_range(arg)); - result = converter_t::low_level_convert(converter_t::nearbyint(arg, res)); - return res; -} - -template -struct lexical_cast_dynamic_num_not_ignoring_minus -{ - static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT { - return noexcept_numeric_convert(arg, result); - } -}; - -template -struct lexical_cast_dynamic_num_ignoring_minus -{ - static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::is_float::value, - boost::type_identity, - boost::make_unsigned - >::type usource_lazy_t; - typedef BOOST_DEDUCED_TYPENAME usource_lazy_t::type usource_t; - - if (arg < 0) { - const bool res = noexcept_numeric_convert(0u - arg, result); - result = static_cast(0u - result); - return res; - } else { - return noexcept_numeric_convert(arg, result); - } - } -}; - -/* - * lexical_cast_dynamic_num follows the rules: - * 1) If Source can be converted to Target without precision loss and - * without overflows, then assign Source to Target and return - * - * 2) If Source is less than 0 and Target is an unsigned integer, - * then negate Source, check the requirements of rule 1) and if - * successful, assign static_casted Source to Target and return - * - * 3) Otherwise throw a bad_lexical_cast exception - * - * - * Rule 2) required because boost::lexical_cast has the behavior of - * stringstream, which uses the rules of scanf for conversions. And - * in the C99 standard for unsigned input value minus sign is - * optional, so if a negative number is read, no errors will arise - * and the result will be the two's complement. - */ -template -struct dynamic_num_converter_impl -{ - static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::is_unsigned::value && - (boost::is_signed::value || boost::is_float::value) && - !(boost::is_same::value) && - !(boost::is_same::value), - lexical_cast_dynamic_num_ignoring_minus, - lexical_cast_dynamic_num_not_ignoring_minus - >::type caster_type; - - return caster_type::try_convert(arg, result); - } -}; - -}} // namespace boost::detail - -#endif // BOOST_LEXICAL_CAST_DETAIL_CONVERTER_NUMERIC_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/inf_nan.hpp b/3rdparty/boost/boost/lexical_cast/detail/inf_nan.hpp deleted file mode 100644 index bea55b70a0..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/inf_nan.hpp +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_INF_NAN_HPP -#define BOOST_LEXICAL_CAST_DETAIL_INF_NAN_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) -#define BOOST_LCAST_NO_WCHAR_T -#endif - -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { - namespace detail - { - template - bool lc_iequal(const CharT* val, const CharT* lcase, const CharT* ucase, unsigned int len) BOOST_NOEXCEPT { - for( unsigned int i=0; i < len; ++i ) { - if ( val[i] != lcase[i] && val[i] != ucase[i] ) return false; - } - - return true; - } - - /* Returns true and sets the correct value if found NaN or Inf. */ - template - inline bool parse_inf_nan_impl(const CharT* begin, const CharT* end, T& value - , const CharT* lc_NAN, const CharT* lc_nan - , const CharT* lc_INFINITY, const CharT* lc_infinity - , const CharT opening_brace, const CharT closing_brace) BOOST_NOEXCEPT - { - using namespace std; - if (begin == end) return false; - const CharT minus = lcast_char_constants::minus; - const CharT plus = lcast_char_constants::plus; - const int inifinity_size = 8; // == sizeof("infinity") - 1 - - /* Parsing +/- */ - bool const has_minus = (*begin == minus); - if (has_minus || *begin == plus) { - ++ begin; - } - - if (end - begin < 3) return false; - if (lc_iequal(begin, lc_nan, lc_NAN, 3)) { - begin += 3; - if (end != begin) { - /* It is 'nan(...)' or some bad input*/ - - if (end - begin < 2) return false; // bad input - -- end; - if (*begin != opening_brace || *end != closing_brace) return false; // bad input - } - - if( !has_minus ) value = std::numeric_limits::quiet_NaN(); - else value = (boost::math::changesign) (std::numeric_limits::quiet_NaN()); - return true; - } else if ( - ( /* 'INF' or 'inf' */ - end - begin == 3 // 3 == sizeof('inf') - 1 - && lc_iequal(begin, lc_infinity, lc_INFINITY, 3) - ) - || - ( /* 'INFINITY' or 'infinity' */ - end - begin == inifinity_size - && lc_iequal(begin, lc_infinity, lc_INFINITY, inifinity_size) - ) - ) - { - if( !has_minus ) value = std::numeric_limits::infinity(); - else value = (boost::math::changesign) (std::numeric_limits::infinity()); - return true; - } - - return false; - } - - template - bool put_inf_nan_impl(CharT* begin, CharT*& end, const T& value - , const CharT* lc_nan - , const CharT* lc_infinity) BOOST_NOEXCEPT - { - using namespace std; - const CharT minus = lcast_char_constants::minus; - if ((boost::math::isnan)(value)) { - if ((boost::math::signbit)(value)) { - *begin = minus; - ++ begin; - } - - memcpy(begin, lc_nan, 3 * sizeof(CharT)); - end = begin + 3; - return true; - } else if ((boost::math::isinf)(value)) { - if ((boost::math::signbit)(value)) { - *begin = minus; - ++ begin; - } - - memcpy(begin, lc_infinity, 3 * sizeof(CharT)); - end = begin + 3; - return true; - } - - return false; - } - - -#ifndef BOOST_LCAST_NO_WCHAR_T - template - bool parse_inf_nan(const wchar_t* begin, const wchar_t* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , L"NAN", L"nan" - , L"INFINITY", L"infinity" - , L'(', L')'); - } - - template - bool put_inf_nan(wchar_t* begin, wchar_t*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, L"nan", L"infinity"); - } - -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - template - bool parse_inf_nan(const char16_t* begin, const char16_t* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , u"NAN", u"nan" - , u"INFINITY", u"infinity" - , u'(', u')'); - } - - template - bool put_inf_nan(char16_t* begin, char16_t*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, u"nan", u"infinity"); - } -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS) - template - bool parse_inf_nan(const char32_t* begin, const char32_t* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , U"NAN", U"nan" - , U"INFINITY", U"infinity" - , U'(', U')'); - } - - template - bool put_inf_nan(char32_t* begin, char32_t*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, U"nan", U"infinity"); - } -#endif - - template - bool parse_inf_nan(const CharT* begin, const CharT* end, T& value) BOOST_NOEXCEPT { - return parse_inf_nan_impl(begin, end, value - , "NAN", "nan" - , "INFINITY", "infinity" - , '(', ')'); - } - - template - bool put_inf_nan(CharT* begin, CharT*& end, const T& value) BOOST_NOEXCEPT { - return put_inf_nan_impl(begin, end, value, "nan", "infinity"); - } - } -} // namespace boost - -#undef BOOST_LCAST_NO_WCHAR_T - -#endif // BOOST_LEXICAL_CAST_DETAIL_INF_NAN_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/is_character.hpp b/3rdparty/boost/boost/lexical_cast/detail/is_character.hpp deleted file mode 100644 index c50664625c..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/is_character.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP -#define BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#include -#include - -namespace boost { - - namespace detail // is_character<...> - { - // returns true, if T is one of the character types - template < typename T > - struct is_character - { - typedef BOOST_DEDUCED_TYPENAME boost::integral_constant< - bool, - boost::is_same< T, char >::value || - #if !defined(BOOST_NO_STRINGSTREAM) && !defined(BOOST_NO_STD_WSTRING) - 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 - > type; - - BOOST_STATIC_CONSTANT(bool, value = (type::value) ); - }; - } -} - -#endif // BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/lcast_char_constants.hpp b/3rdparty/boost/boost/lexical_cast/detail/lcast_char_constants.hpp deleted file mode 100644 index ee6ef4b46d..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/lcast_char_constants.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_LCAST_CHAR_CONSTANTS_HPP -#define BOOST_LEXICAL_CAST_DETAIL_LCAST_CHAR_CONSTANTS_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -namespace boost -{ - namespace detail // '0', '-', '+', 'e', 'E' and '.' constants - { - template < typename Char > - struct lcast_char_constants { - // We check in tests assumption that static casted character is - // equal to correctly written C++ literal: U'0' == static_cast('0') - BOOST_STATIC_CONSTANT(Char, zero = static_cast('0')); - BOOST_STATIC_CONSTANT(Char, minus = static_cast('-')); - BOOST_STATIC_CONSTANT(Char, plus = static_cast('+')); - BOOST_STATIC_CONSTANT(Char, lowercase_e = static_cast('e')); - BOOST_STATIC_CONSTANT(Char, capital_e = static_cast('E')); - BOOST_STATIC_CONSTANT(Char, c_decimal_separator = static_cast('.')); - }; - } -} // namespace boost - - -#endif // BOOST_LEXICAL_CAST_DETAIL_LCAST_CHAR_CONSTANTS_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/lcast_unsigned_converters.hpp b/3rdparty/boost/boost/lexical_cast/detail/lcast_unsigned_converters.hpp deleted file mode 100644 index c837832f34..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_LCAST_UNSIGNED_CONVERTERS_HPP -#define BOOST_LEXICAL_CAST_DETAIL_LCAST_UNSIGNED_CONVERTERS_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#ifndef BOOST_NO_STD_LOCALE -# include -#else -# ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - // Getting error at this point means, that your STL library is old/lame/misconfigured. - // If nothing can be done with STL library, define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE, - // but beware: lexical_cast will understand only 'C' locale delimeters and thousands - // separators. -# error "Unable to use header. Define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE to force " -# error "boost::lexical_cast to use only 'C' locale during conversions." -# endif -#endif - -#include -#include -#include -#include - -namespace boost -{ - namespace detail // lcast_to_unsigned - { - template - inline - BOOST_DEDUCED_TYPENAME boost::make_unsigned::type lcast_to_unsigned(const T value) BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::make_unsigned::type result_type; - return value < 0 - ? static_cast(0u - static_cast(value)) - : static_cast(value); - } - } - - namespace detail // lcast_put_unsigned - { - template - class lcast_put_unsigned: boost::noncopyable { - typedef BOOST_DEDUCED_TYPENAME Traits::int_type int_type; - BOOST_DEDUCED_TYPENAME boost::conditional< - (sizeof(unsigned) > sizeof(T)) - , unsigned - , T - >::type m_value; - CharT* m_finish; - CharT const m_czero; - int_type const m_zero; - - public: - lcast_put_unsigned(const T n_param, CharT* finish) BOOST_NOEXCEPT - : m_value(n_param), m_finish(finish) - , m_czero(lcast_char_constants::zero), m_zero(Traits::to_int_type(m_czero)) - { -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT(!std::numeric_limits::is_signed); -#endif - } - - CharT* convert() { -#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - std::locale loc; - if (loc == std::locale::classic()) { - return main_convert_loop(); - } - - typedef std::numpunct numpunct; - numpunct const& np = BOOST_USE_FACET(numpunct, loc); - std::string const grouping = np.grouping(); - std::string::size_type const grouping_size = grouping.size(); - - if (!grouping_size || grouping[0] <= 0) { - return main_convert_loop(); - } - -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - // Check that ulimited group is unreachable: - BOOST_STATIC_ASSERT(std::numeric_limits::digits10 < CHAR_MAX); -#endif - CharT const thousands_sep = np.thousands_sep(); - std::string::size_type group = 0; // current group number - char last_grp_size = grouping[0]; - char left = last_grp_size; - - do { - if (left == 0) { - ++group; - if (group < grouping_size) { - char const grp_size = grouping[group]; - last_grp_size = (grp_size <= 0 ? static_cast(CHAR_MAX) : grp_size); - } - - left = last_grp_size; - --m_finish; - Traits::assign(*m_finish, thousands_sep); - } - - --left; - } while (main_convert_iteration()); - - return m_finish; -#else - return main_convert_loop(); -#endif - } - - private: - inline bool main_convert_iteration() BOOST_NOEXCEPT { - --m_finish; - int_type const digit = static_cast(m_value % 10U); - Traits::assign(*m_finish, Traits::to_char_type(m_zero + digit)); - m_value /= 10; - return !!m_value; // suppressing warnings - } - - inline CharT* main_convert_loop() BOOST_NOEXCEPT { - while (main_convert_iteration()); - return m_finish; - } - }; - } - - namespace detail // lcast_ret_unsigned - { - template - class lcast_ret_unsigned: boost::noncopyable { - bool m_multiplier_overflowed; - T m_multiplier; - T& m_value; - const CharT* const m_begin; - const CharT* m_end; - - public: - lcast_ret_unsigned(T& value, const CharT* const begin, const CharT* end) BOOST_NOEXCEPT - : m_multiplier_overflowed(false), m_multiplier(1), m_value(value), m_begin(begin), m_end(end) - { -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT(!std::numeric_limits::is_signed); - - // GCC when used with flag -std=c++0x may not have std::numeric_limits - // specializations for __int128 and unsigned __int128 types. - // Try compilation with -std=gnu++0x or -std=gnu++11. - // - // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40856 - BOOST_STATIC_ASSERT_MSG(std::numeric_limits::is_specialized, - "std::numeric_limits are not specialized for integral type passed to boost::lexical_cast" - ); -#endif - } - - inline bool convert() { - CharT const czero = lcast_char_constants::zero; - --m_end; - m_value = static_cast(0); - - if (m_begin > m_end || *m_end < czero || *m_end >= czero + 10) - return false; - m_value = static_cast(*m_end - czero); - --m_end; - -#ifdef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE - return main_convert_loop(); -#else - std::locale loc; - if (loc == std::locale::classic()) { - return main_convert_loop(); - } - - typedef std::numpunct numpunct; - numpunct const& np = BOOST_USE_FACET(numpunct, loc); - std::string const& grouping = np.grouping(); - std::string::size_type const grouping_size = grouping.size(); - - /* According to Programming languages - C++ - * we MUST check for correct grouping - */ - if (!grouping_size || grouping[0] <= 0) { - return main_convert_loop(); - } - - unsigned char current_grouping = 0; - CharT const thousands_sep = np.thousands_sep(); - char remained = static_cast(grouping[current_grouping] - 1); - - for (;m_end >= m_begin; --m_end) - { - if (remained) { - if (!main_convert_iteration()) { - return false; - } - --remained; - } else { - if ( !Traits::eq(*m_end, thousands_sep) ) //|| begin == end ) return false; - { - /* - * According to Programming languages - C++ - * Digit grouping is checked. That is, the positions of discarded - * separators is examined for consistency with - * use_facet >(loc ).grouping() - * - * BUT what if there is no separators at all and grouping() - * is not empty? Well, we have no extraced separators, so we - * won`t check them for consistency. This will allow us to - * work with "C" locale from other locales - */ - return main_convert_loop(); - } else { - if (m_begin == m_end) return false; - if (current_grouping < grouping_size - 1) ++current_grouping; - remained = grouping[current_grouping]; - } - } - } /*for*/ - - return true; -#endif - } - - private: - // Iteration that does not care about grouping/separators and assumes that all - // input characters are digits - inline bool main_convert_iteration() BOOST_NOEXCEPT { - CharT const czero = lcast_char_constants::zero; - T const maxv = (std::numeric_limits::max)(); - - m_multiplier_overflowed = m_multiplier_overflowed || (maxv/10 < m_multiplier); - m_multiplier = static_cast(m_multiplier * 10); - - T const dig_value = static_cast(*m_end - czero); - T const new_sub_value = static_cast(m_multiplier * dig_value); - - // We must correctly handle situations like `000000000000000000000000000001`. - // So we take care of overflow only if `dig_value` is not '0'. - if (*m_end < czero || *m_end >= czero + 10 // checking for correct digit - || (dig_value && ( // checking for overflow of ... - m_multiplier_overflowed // ... multiplier - || static_cast(maxv / dig_value) < m_multiplier // ... subvalue - || static_cast(maxv - new_sub_value) < m_value // ... whole expression - )) - ) return false; - - m_value = static_cast(m_value + new_sub_value); - - return true; - } - - bool main_convert_loop() BOOST_NOEXCEPT { - for ( ; m_end >= m_begin; --m_end) { - if (!main_convert_iteration()) { - return false; - } - } - - return true; - } - }; - } -} // namespace boost - -#endif // BOOST_LEXICAL_CAST_DETAIL_LCAST_UNSIGNED_CONVERTERS_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/detail/widest_char.hpp b/3rdparty/boost/boost/lexical_cast/detail/widest_char.hpp deleted file mode 100644 index b9c725b61f..0000000000 --- a/3rdparty/boost/boost/lexical_cast/detail/widest_char.hpp +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_DETAIL_WIDEST_CHAR_HPP -#define BOOST_LEXICAL_CAST_DETAIL_WIDEST_CHAR_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - - -#include - -namespace boost { namespace detail { - - template - struct widest_char { - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - (sizeof(TargetChar) > sizeof(SourceChar)) - , TargetChar - , SourceChar - >::type type; - }; - -}} // namespace boost::detail - -#endif // BOOST_LEXICAL_CAST_DETAIL_WIDEST_CHAR_HPP - diff --git a/3rdparty/boost/boost/lexical_cast/try_lexical_convert.hpp b/3rdparty/boost/boost/lexical_cast/try_lexical_convert.hpp deleted file mode 100644 index ac2e4f3cfc..0000000000 --- a/3rdparty/boost/boost/lexical_cast/try_lexical_convert.hpp +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright Kevlin Henney, 2000-2005. -// Copyright Alexander Nasonov, 2006-2010. -// Copyright Antony Polukhin, 2011-2019. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// what: lexical_cast custom keyword cast -// who: contributed by Kevlin Henney, -// enhanced with contributions from Terje Slettebo, -// with additional fixes and suggestions from Gennaro Prota, -// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, -// Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, -// Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters -// when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 - -#ifndef BOOST_LEXICAL_CAST_TRY_LEXICAL_CONVERT_HPP -#define BOOST_LEXICAL_CAST_TRY_LEXICAL_CONVERT_HPP - -#include -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#if defined(__clang__) || (defined(__GNUC__) && \ - !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) && \ - (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wuninitialized" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#endif - - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -namespace boost { - namespace detail - { - template - struct is_stdstring - : boost::false_type - {}; - - template - struct is_stdstring< std::basic_string > - : boost::true_type - {}; - - // Sun Studio has problem with partial specialization of templates differing only in namespace. - // We workaround that by making `is_booststring` trait, instead of specializing `is_stdstring` for `boost::container::basic_string`. - template - struct is_booststring - : boost::false_type - {}; - - template - struct is_booststring< boost::container::basic_string > - : boost::true_type - {}; - - template - struct is_arithmetic_and_not_xchars - { - typedef boost::integral_constant< - bool, - !(boost::detail::is_character::value) && - !(boost::detail::is_character::value) && - boost::is_arithmetic::value && - boost::is_arithmetic::value - > type; - - BOOST_STATIC_CONSTANT(bool, value = ( - type::value - )); - }; - - /* - * is_xchar_to_xchar::value is true, - * Target and Souce are char types of the same size 1 (char, signed char, unsigned char). - */ - template - struct is_xchar_to_xchar - { - typedef boost::integral_constant< - bool, - sizeof(Source) == sizeof(Target) && - sizeof(Source) == sizeof(char) && - boost::detail::is_character::value && - boost::detail::is_character::value - > type; - - BOOST_STATIC_CONSTANT(bool, value = ( - type::value - )); - }; - - template - struct is_char_array_to_stdstring - : boost::false_type - {}; - - template - struct is_char_array_to_stdstring< std::basic_string, CharT* > - : boost::true_type - {}; - - template - struct is_char_array_to_stdstring< std::basic_string, const CharT* > - : boost::true_type - {}; - - // Sun Studio has problem with partial specialization of templates differing only in namespace. - // We workaround that by making `is_char_array_to_booststring` trait, instead of specializing `is_char_array_to_stdstring` for `boost::container::basic_string`. - template - struct is_char_array_to_booststring - : boost::false_type - {}; - - template - struct is_char_array_to_booststring< boost::container::basic_string, CharT* > - : boost::true_type - {}; - - template - struct is_char_array_to_booststring< boost::container::basic_string, const CharT* > - : boost::true_type - {}; - - template - struct copy_converter_impl - { -// MSVC fail to forward an array (DevDiv#555157 "SILENT BAD CODEGEN triggered by perfect forwarding", -// fixed in 2013 RTM). -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined(BOOST_MSVC) || BOOST_MSVC >= 1800) - template - static inline bool try_convert(T&& arg, Target& result) { - result = static_cast(arg); // eqaul to `result = std::forward(arg);` - return true; - } -#else - static inline bool try_convert(const Source& arg, Target& result) { - result = arg; - return true; - } -#endif - }; - } - - namespace conversion { namespace detail { - - template - inline bool try_lexical_convert(const Source& arg, Target& result) - { - typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay::type src; - - typedef boost::integral_constant< - bool, - boost::detail::is_xchar_to_xchar::value || - boost::detail::is_char_array_to_stdstring::value || - boost::detail::is_char_array_to_booststring::value || - ( - boost::is_same::value && - (boost::detail::is_stdstring::value || boost::detail::is_booststring::value) - ) || - ( - boost::is_same::value && - boost::detail::is_character::value - ) - > shall_we_copy_t; - - typedef boost::detail::is_arithmetic_and_not_xchars - shall_we_copy_with_dynamic_check_t; - - // We do evaluate second `if_` lazily to avoid unnecessary instantiations - // of `shall_we_copy_with_dynamic_check_t` and improve compilation times. - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - shall_we_copy_t::value, - boost::type_identity >, - boost::conditional< - shall_we_copy_with_dynamic_check_t::value, - boost::detail::dynamic_num_converter_impl, - boost::detail::lexical_converter_impl - > - >::type caster_type_lazy; - - typedef BOOST_DEDUCED_TYPENAME caster_type_lazy::type caster_type; - - return caster_type::try_convert(arg, result); - } - - template - inline bool try_lexical_convert(const CharacterT* chars, std::size_t count, Target& result) - { - BOOST_STATIC_ASSERT_MSG( - boost::detail::is_character::value, - "This overload of try_lexical_convert is meant to be used only with arrays of characters." - ); - return ::boost::conversion::detail::try_lexical_convert( - ::boost::iterator_range(chars, chars + count), result - ); - } - - }} // namespace conversion::detail - - namespace conversion { - // ADL barrier - using ::boost::conversion::detail::try_lexical_convert; - } - -} // namespace boost - -#if defined(__clang__) || (defined(__GNUC__) && \ - !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) && \ - (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))) -#pragma GCC diagnostic pop -#endif - -#endif // BOOST_LEXICAL_CAST_TRY_LEXICAL_CONVERT_HPP - diff --git a/3rdparty/boost/boost/math/policies/policy.hpp b/3rdparty/boost/boost/math/policies/policy.hpp deleted file mode 100644 index c1e1a7be4a..0000000000 --- a/3rdparty/boost/boost/math/policies/policy.hpp +++ /dev/null @@ -1,1040 +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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// Sadly we do need the .h versions of these to be sure of getting -// FLT_MANT_DIG etc. -#include -#include -#include -#include - -namespace boost{ namespace math{ - -namespace tools{ - -template -BOOST_MATH_CONSTEXPR int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) BOOST_NOEXCEPT; -template -BOOST_MATH_CONSTEXPR T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) BOOST_MATH_NOEXCEPT(T); - -} - -namespace policies{ - -// -// Define macros for our default policies, if they're not defined already: -// -// Special cases for exceptions disabled first: -// -#ifdef BOOST_NO_EXCEPTIONS -# ifndef BOOST_MATH_DOMAIN_ERROR_POLICY -# define BOOST_MATH_DOMAIN_ERROR_POLICY errno_on_error -# endif -# ifndef BOOST_MATH_POLE_ERROR_POLICY -# define BOOST_MATH_POLE_ERROR_POLICY errno_on_error -# endif -# ifndef BOOST_MATH_OVERFLOW_ERROR_POLICY -# define BOOST_MATH_OVERFLOW_ERROR_POLICY errno_on_error -# endif -# ifndef BOOST_MATH_EVALUATION_ERROR_POLICY -# define BOOST_MATH_EVALUATION_ERROR_POLICY errno_on_error -# endif -# ifndef BOOST_MATH_ROUNDING_ERROR_POLICY -# define BOOST_MATH_ROUNDING_ERROR_POLICY errno_on_error -# endif -#endif -// -// Then the regular cases: -// -#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__) -#define BOOST_MATH_META_INT(type, name, Default)\ - template struct name : public boost::mpl::int_{};\ - namespace detail{\ - template \ - char test_is_valid_arg(const name*);\ - char test_is_default_arg(const name*);\ - template struct is_##name##_imp\ - {\ - template static char test(const name*);\ - static double test(...);\ - BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast(0))) == 1);\ - };\ - }\ - template struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp::value>{}; - -#define BOOST_MATH_META_BOOL(name, Default)\ - template struct name : public boost::mpl::bool_{};\ - namespace detail{\ - template \ - char test_is_valid_arg(const name*);\ - char test_is_default_arg(const name*);\ - template struct is_##name##_imp\ - {\ - template static char test(const name*);\ - static double test(...);\ - BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast(0))) == 1);\ - };\ - }\ - template struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp::value>{}; -#else -#define BOOST_MATH_META_INT(Type, name, Default)\ - template struct name : public boost::mpl::int_{};\ - namespace detail{\ - template \ - char test_is_valid_arg(const name*);\ - char test_is_default_arg(const name*);\ - template struct is_##name##_tester\ - {\ - template static char test(const name&);\ - static double test(...);\ - };\ - template struct is_##name##_imp\ - {\ - static T inst;\ - BOOST_STATIC_CONSTANT(bool, value = sizeof( ::boost::math::policies::detail::is_##name##_tester::test(inst)) == 1);\ - };\ - }\ - template struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp::value>\ - {\ - template struct apply{ typedef is_##name type; };\ - }; - -#define BOOST_MATH_META_BOOL(name, Default)\ - template struct name : public boost::mpl::bool_{};\ - namespace detail{\ - template \ - char test_is_valid_arg(const name*);\ - char test_is_default_arg(const name*);\ - template struct is_##name##_tester\ - {\ - template static char test(const name&);\ - static double test(...);\ - };\ - template struct is_##name##_imp\ - {\ - static T inst;\ - BOOST_STATIC_CONSTANT(bool, value = sizeof( ::boost::math::policies::detail::is_##name##_tester::test(inst)) == 1);\ - };\ - }\ - template struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp::value>\ - {\ - template struct apply{ typedef is_##name 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 -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::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 -struct select_result -{ - typedef A type; -}; -template -struct select_result -{ - typedef typename mpl::deref::type type; -}; - -template -struct find_arg -{ -private: - typedef typename mpl::find_if::type iter; - typedef typename mpl::end::type end_type; -public: - typedef typename select_result< - DefaultType, iter, - ::boost::is_same::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 -struct is_valid_policy_imp -{ - BOOST_STATIC_CONSTANT(bool, value = sizeof(::boost::math::policies::detail::test_is_valid_arg(static_cast(0))) == 1); -}; - -template -struct is_default_policy_imp -{ - BOOST_STATIC_CONSTANT(bool, value = sizeof(::boost::math::policies::detail::test_is_default_arg(static_cast(0))) == 1); -}; - -template struct is_valid_policy -: public mpl::bool_< - ::boost::math::policies::detail::is_valid_policy_imp::value> -{}; - -template struct is_default_policy -: public mpl::bool_< - ::boost::math::policies::detail::is_default_policy_imp::value> -{ - template - struct apply - { - typedef is_default_policy type; - }; -}; - -template -struct append_N -{ - typedef typename mpl::push_back::type new_seq; - typedef typename append_N::type type; -}; - -template -struct append_N -{ - typedef Seq type; -}; - -// -// Traits class to work out what template parameters our default -// policy<> class will have when modified for forwarding: -// -template -struct default_args -{ - typedef promote_float arg1; - typedef promote_double arg2; -}; - -template <> -struct default_args -{ - typedef default_policy arg1; - typedef default_policy arg2; -}; - -template <> -struct default_args -{ - typedef promote_float arg1; - typedef default_policy arg2; -}; - -template <> -struct default_args -{ - typedef promote_double arg1; - typedef default_policy arg2; -}; - -typedef default_args::arg1 forwarding_arg1; -typedef default_args::arg2 forwarding_arg2; - -} // detail -// -// Now define the policy type with enough arguments to handle all -// the policies: -// -template -struct policy -{ -private: - // - // Validate all our arguments: - // - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy::value); - // - // Typelist of the arguments: - // - typedef mpl::list arg_list; - -public: - typedef typename detail::find_arg, domain_error<> >::type domain_error_type; - typedef typename detail::find_arg, pole_error<> >::type pole_error_type; - typedef typename detail::find_arg, overflow_error<> >::type overflow_error_type; - typedef typename detail::find_arg, underflow_error<> >::type underflow_error_type; - typedef typename detail::find_arg, denorm_error<> >::type denorm_error_type; - typedef typename detail::find_arg, evaluation_error<> >::type evaluation_error_type; - typedef typename detail::find_arg, rounding_error<> >::type rounding_error_type; - typedef typename detail::find_arg, indeterminate_result_error<> >::type indeterminate_result_error_type; -private: - // - // Now work out the precision: - // - typedef typename detail::find_arg, digits10<> >::type digits10_type; - typedef typename detail::find_arg, digits2<> >::type bits_precision_type; -public: - typedef typename detail::precision::type precision_type; - // - // Internal promotion: - // - typedef typename detail::find_arg, promote_float<> >::type promote_float_type; - typedef typename detail::find_arg, promote_double<> >::type promote_double_type; - // - // Discrete quantiles: - // - typedef typename detail::find_arg, discrete_quantile<> >::type discrete_quantile_type; - // - // Mathematically undefined properties: - // - typedef typename detail::find_arg, assert_undefined<> >::type assert_undefined_type; - // - // Max iterations: - // - typedef typename detail::find_arg, max_series_iterations<> >::type max_series_iterations_type; - typedef typename detail::find_arg, 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 -{ -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, 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 -{ -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, 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 normalise -{ -private: - typedef mpl::list arg_list; - typedef typename detail::find_arg, typename Policy::domain_error_type >::type domain_error_type; - typedef typename detail::find_arg, typename Policy::pole_error_type >::type pole_error_type; - typedef typename detail::find_arg, typename Policy::overflow_error_type >::type overflow_error_type; - typedef typename detail::find_arg, typename Policy::underflow_error_type >::type underflow_error_type; - typedef typename detail::find_arg, typename Policy::denorm_error_type >::type denorm_error_type; - typedef typename detail::find_arg, typename Policy::evaluation_error_type >::type evaluation_error_type; - typedef typename detail::find_arg, typename Policy::rounding_error_type >::type rounding_error_type; - typedef typename detail::find_arg, typename Policy::indeterminate_result_error_type >::type indeterminate_result_error_type; - // - // Now work out the precision: - // - typedef typename detail::find_arg, digits10<> >::type digits10_type; - typedef typename detail::find_arg, typename Policy::precision_type >::type bits_precision_type; - typedef typename detail::precision::type precision_type; - // - // Internal promotion: - // - typedef typename detail::find_arg, typename Policy::promote_float_type >::type promote_float_type; - typedef typename detail::find_arg, typename Policy::promote_double_type >::type promote_double_type; - // - // Discrete quantiles: - // - typedef typename detail::find_arg, typename Policy::discrete_quantile_type >::type discrete_quantile_type; - // - // Mathematically undefined properties: - // - typedef typename detail::find_arg, typename Policy::assert_undefined_type >::type assert_undefined_type; - // - // Max iterations: - // - typedef typename detail::find_arg, typename Policy::max_series_iterations_type>::type max_series_iterations_type; - typedef typename detail::find_arg, 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 >::type reduced_list; - // - // Pad out the list with defaults: - // - typedef typename detail::append_N::value)>::type result_type; -public: - typedef policy< - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type, - typename mpl::at >::type > type; -}; -// -// Full specialisation to speed up compilation of the common case: -// -template <> -struct normalise, - promote_float, - promote_double, - discrete_quantile<>, - assert_undefined<>, - default_policy, - default_policy, - default_policy, - default_policy, - default_policy, - default_policy, - default_policy> -{ - typedef policy type; -}; - -template <> -struct normalise, - promote_float, - promote_double, - discrete_quantile<>, - assert_undefined<>, - default_policy, - default_policy, - default_policy, - default_policy, - default_policy, - default_policy, - default_policy> -{ - typedef policy type; -}; - -inline BOOST_MATH_CONSTEXPR policy<> make_policy() BOOST_NOEXCEPT -{ return policy<>(); } - -template -inline BOOST_MATH_CONSTEXPR typename normalise, A1>::type make_policy(const A1&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, A1, A2>::type make_policy(const A1&, const A2&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, A1, A2, A3>::type make_policy(const A1&, const A2&, const A3&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, A1, A2, A3, A4>::type make_policy(const A1&, const A2&, const A3&, const A4&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, A1, A2, A3, A4, A5>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4, A5>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, A1, A2, A3, A4, A5, A6>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4, A5, A6>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, A1, A2, A3, A4, A5, A6, A7>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4, A5, A6, A7>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, 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&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4, A5, A6, A7, A8>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, 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&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4, A5, A6, A7, A8, A9>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, 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&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>::type result_type; - return result_type(); -} - -template -inline BOOST_MATH_CONSTEXPR typename normalise, 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&) BOOST_NOEXCEPT -{ - typedef typename normalise, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>::type result_type; - return result_type(); -} - -// -// Traits class to handle internal promotion: -// -template -struct evaluation -{ - typedef Real type; -}; - -template -struct evaluation -{ - typedef typename mpl::if_::type type; -}; - -template -struct evaluation -{ - typedef typename mpl::if_::type type; -}; - -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - -template -struct basic_digits : public mpl::int_<0>{ }; -template <> -struct basic_digits : public mpl::int_{ }; -template <> -struct basic_digits : public mpl::int_{ }; -template <> -struct basic_digits : public mpl::int_{ }; - -template -struct precision -{ - BOOST_STATIC_ASSERT( ::std::numeric_limits::radix == 2); - typedef typename Policy::precision_type precision_type; - typedef basic_digits digits_t; - typedef typename mpl::if_< - mpl::equal_to >, - // Possibly unknown precision: - precision_type, - typename mpl::if_< - mpl::or_, mpl::less_equal > >, - // Default case, full precision for RealType: - digits2< ::std::numeric_limits::digits>, - // User customised precision: - precision_type - >::type - >::type type; -}; - -template -struct precision -{ - typedef digits2 type; -}; -template -struct precision -{ - typedef digits2 type; -}; -template -struct precision -{ - typedef digits2 type; -}; - -#else - -template -struct precision -{ - BOOST_STATIC_ASSERT((::std::numeric_limits::radix == 2) || ((::std::numeric_limits::is_specialized == 0) || (::std::numeric_limits::digits == 0))); -#ifndef __BORLANDC__ - typedef typename Policy::precision_type precision_type; - typedef typename mpl::if_c< - ((::std::numeric_limits::is_specialized == 0) || (::std::numeric_limits::digits == 0)), - // Possibly unknown precision: - precision_type, - typename mpl::if_c< - ((::std::numeric_limits::digits <= precision_type::value) - || (Policy::precision_type::value <= 0)), - // Default case, full precision for RealType: - digits2< ::std::numeric_limits::digits>, - // User customised precision: - precision_type - >::type - >::type type; -#else - typedef typename Policy::precision_type precision_type; - typedef mpl::int_< ::std::numeric_limits::digits> digits_t; - typedef mpl::bool_< ::std::numeric_limits::is_specialized> spec_t; - typedef typename mpl::if_< - mpl::or_, mpl::equal_to > >, - // Possibly unknown precision: - precision_type, - typename mpl::if_< - mpl::or_, mpl::less_equal > >, - // Default case, full precision for RealType: - digits2< ::std::numeric_limits::digits>, - // User customised precision: - precision_type - >::type - >::type type; -#endif -}; - -#endif - -#ifdef BOOST_MATH_USE_FLOAT128 - -template -struct precision -{ - typedef mpl::int_<113> type; -}; - -#endif - -namespace detail{ - -template -inline BOOST_MATH_CONSTEXPR int digits_imp(mpl::true_ const&) BOOST_NOEXCEPT -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); -#endif - typedef typename boost::math::policies::precision::type p_t; - return p_t::value; -} - -template -inline BOOST_MATH_CONSTEXPR int digits_imp(mpl::false_ const&) BOOST_NOEXCEPT -{ - return tools::digits(); -} - -} // namespace detail - -template -inline BOOST_MATH_CONSTEXPR int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) BOOST_NOEXCEPT -{ - typedef mpl::bool_< std::numeric_limits::is_specialized > tag_type; - return detail::digits_imp(tag_type()); -} -template -inline BOOST_MATH_CONSTEXPR int digits_base10(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) BOOST_NOEXCEPT -{ - return boost::math::policies::digits() * 301 / 1000L; -} - -template -inline BOOST_MATH_CONSTEXPR unsigned long get_max_series_iterations() BOOST_NOEXCEPT -{ - typedef typename Policy::max_series_iterations_type iter_type; - return iter_type::value; -} - -template -inline BOOST_MATH_CONSTEXPR unsigned long get_max_root_iterations() BOOST_NOEXCEPT -{ - typedef typename Policy::max_root_iterations_type iter_type; - return iter_type::value; -} - -namespace detail{ - -template -struct series_factor_calc -{ - static T get() BOOST_MATH_NOEXCEPT(T) - { - return ldexp(T(1.0), 1 - Digits::value); - } -}; - -template -struct series_factor_calc -{ - static BOOST_MATH_CONSTEXPR T get() BOOST_MATH_NOEXCEPT(T) - { - return boost::math::tools::epsilon(); - } -}; -template -struct series_factor_calc -{ - static BOOST_MATH_CONSTEXPR T get() BOOST_MATH_NOEXCEPT(T) - { - return 1 / static_cast(static_cast(1u) << (Digits::value - 1)); - } -}; -template -struct series_factor_calc -{ - static BOOST_MATH_CONSTEXPR T get() BOOST_MATH_NOEXCEPT(T) - { - return boost::math::tools::epsilon(); - } -}; - -template -inline BOOST_MATH_CONSTEXPR T get_epsilon_imp(mpl::true_ const&) BOOST_MATH_NOEXCEPT(T) -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - BOOST_STATIC_ASSERT( ::std::numeric_limits::is_specialized); - BOOST_STATIC_ASSERT( ::std::numeric_limits::radix == 2); -#else - BOOST_ASSERT(::std::numeric_limits::is_specialized); - BOOST_ASSERT(::std::numeric_limits::radix == 2); -#endif - typedef typename boost::math::policies::precision::type p_t; - typedef mpl::bool_::digits> is_small_int; - typedef mpl::bool_= std::numeric_limits::digits> is_default_value; - return series_factor_calc::get(); -} - -template -inline BOOST_MATH_CONSTEXPR T get_epsilon_imp(mpl::false_ const&) BOOST_MATH_NOEXCEPT(T) -{ - return tools::epsilon(); -} - -} // namespace detail - -template -inline BOOST_MATH_CONSTEXPR T get_epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) BOOST_MATH_NOEXCEPT(T) -{ - typedef mpl::bool_< (std::numeric_limits::is_specialized && (std::numeric_limits::radix == 2)) > tag_type; - return detail::get_epsilon_imp(tag_type()); -} - -namespace detail{ - -template -char test_is_policy(const policy*); -double test_is_policy(...); - -template -struct is_policy_imp -{ - BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::math::policies::detail::test_is_policy(static_cast(0))) == 1)); -}; - -} - -template -struct is_policy : public mpl::bool_< ::boost::math::policies::detail::is_policy_imp

::value> {}; - -// -// Helper traits class for distribution error handling: -// -template -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) || (domain_error_type::value == errno_on_error), - mpl::true_, - mpl::false_>::type type; -}; - -template -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; -}; -// -// Does the Policy ever throw on error? -// -template -struct is_noexcept_error_policy -{ - typedef typename Policy::domain_error_type t1; - typedef typename Policy::pole_error_type t2; - typedef typename Policy::overflow_error_type t3; - typedef typename Policy::underflow_error_type t4; - typedef typename Policy::denorm_error_type t5; - typedef typename Policy::evaluation_error_type t6; - typedef typename Policy::rounding_error_type t7; - typedef typename Policy::indeterminate_result_error_type t8; - - BOOST_STATIC_CONSTANT(bool, value = - ((t1::value != throw_on_error) && (t1::value != user_error) - && (t2::value != throw_on_error) && (t2::value != user_error) - && (t3::value != throw_on_error) && (t3::value != user_error) - && (t4::value != throw_on_error) && (t4::value != user_error) - && (t5::value != throw_on_error) && (t5::value != user_error) - && (t6::value != throw_on_error) && (t6::value != user_error) - && (t7::value != throw_on_error) && (t7::value != user_error) - && (t8::value != throw_on_error) && (t8::value != user_error))); -}; - -}}} // namespaces - -#endif // BOOST_MATH_POLICY_HPP - diff --git a/3rdparty/boost/boost/math/special_functions/detail/fp_traits.hpp b/3rdparty/boost/boost/math/special_functions/detail/fp_traits.hpp deleted file mode 100644 index 013f830bca..0000000000 --- a/3rdparty/boost/boost/math/special_functions/detail/fp_traits.hpp +++ /dev/null @@ -1,581 +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 - -#include -#include -#include -#include -#include - -#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 -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*) -{ - 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 struct fp_traits_native -{ - typedef native_tag method; -}; - -// generic_tag version ------------------------------------------------------------- - -template struct fp_traits_non_native -{ -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - typedef generic_tag::is_specialized> method; -#else - typedef generic_tag 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 -{ - 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 -{ - 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(&x) + offset_, 4); - } - - static void set_bits(double& x, uint32_t a) - { - std::memcpy(reinterpret_cast(&x) + offset_, &a, 4); - } - -private: - -#if BOOST_ENDIAN_BIG_BYTE - BOOST_STATIC_CONSTANT(int, offset_ = 0); -#elif BOOST_ENDIAN_LITTLE_BYTE - BOOST_STATIC_CONSTANT(int, offset_ = 4); -#else - BOOST_STATIC_ASSERT(false); -#endif -}; - -//.............................................................................. - -#else - -template<> struct fp_traits_non_native -{ - 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 -{ - 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(&x) + offset_, 4); - } - - static void set_bits(long double& x, uint32_t a) - { - std::memcpy(reinterpret_cast(&x) + offset_, &a, 4); - } - -private: - -#if BOOST_ENDIAN_BIG_BYTE - BOOST_STATIC_CONSTANT(int, offset_ = 0); -#elif BOOST_ENDIAN_LITTLE_BYTE - BOOST_STATIC_CONSTANT(int, offset_ = 4); -#else - BOOST_STATIC_ASSERT(false); -#endif -}; - -//.............................................................................. - -#else - -template<> struct fp_traits_non_native -{ - 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 -{ - 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(&x) + 6, 4); - } - - static void set_bits(long double& x, uint32_t a) - { - std::memcpy(reinterpret_cast(&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). - -#elif defined(__GNUC__) && (LDBL_MANT_DIG == 106) - -// -// Define nothing here and fall though to generic_tag: -// We have GCC's "double double" in effect, and any attempt -// to handle it via bit-fiddling is pretty much doomed to fail... -// - -// 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 -{ - 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(&x) + offset_, 4); - } - - static void set_bits(long double& x, uint32_t a) - { - std::memcpy(reinterpret_cast(&x) + offset_, &a, 4); - } - -private: - -#if BOOST_ENDIAN_BIG_BYTE - BOOST_STATIC_CONSTANT(int, offset_ = 0); -#elif BOOST_ENDIAN_LITTLE_BYTE - 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 -{ - 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(&a) + 2, - reinterpret_cast(&x) + 4, 2); - } - - static void set_bits(long double& x, uint32_t a) - { - std::memcpy(&x, &a, 2); - std::memcpy(reinterpret_cast(&x) + 4, - reinterpret_cast(&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 -{ - 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(&x) + offset_, 4); - } - - static void set_bits(long double& x, uint32_t a) - { - std::memcpy(reinterpret_cast(&x) + offset_, &a, 4); - } - -private: - -#if BOOST_ENDIAN_BIG_BYTE - BOOST_STATIC_CONSTANT(int, offset_ = 0); -#elif BOOST_ENDIAN_LITTLE_BYTE - 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 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 -struct select_native -{ - typedef BOOST_DEDUCED_TYPENAME size_to_precision::value>::type precision; - typedef fp_traits_non_native type; -}; -template<> -struct select_native -{ - typedef fp_traits_native type; -}; -template<> -struct select_native -{ - typedef fp_traits_native type; -}; -template<> -struct select_native -{ - typedef fp_traits_native 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(__FAST_MATH__)\ - && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)\ - && !defined(BOOST_INTEL)\ - && !defined(sun)\ - && !defined(__VXWORKS__) -# define BOOST_MATH_USE_STD_FPCLASSIFY -#endif - -template struct fp_traits -{ - typedef BOOST_DEDUCED_TYPENAME size_to_precision::value>::type precision; -#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY) - typedef typename select_native::type type; -#else - typedef fp_traits_non_native type; -#endif - typedef fp_traits_non_native sign_change_type; -}; - -//------------------------------------------------------------------------------ - -} // namespace detail -} // namespace math -} // namespace boost - -#endif diff --git a/3rdparty/boost/boost/math/special_functions/detail/round_fwd.hpp b/3rdparty/boost/boost/math/special_functions/detail/round_fwd.hpp deleted file mode 100644 index 8c45a7d75a..0000000000 --- a/3rdparty/boost/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 -#include - -#ifdef _MSC_VER -#pragma once -#endif - -namespace boost -{ - namespace math - { - - template - typename tools::promote_args::type trunc(const T& v, const Policy& pol); - template - typename tools::promote_args::type trunc(const T& v); - template - int itrunc(const T& v, const Policy& pol); - template - int itrunc(const T& v); - template - long ltrunc(const T& v, const Policy& pol); - template - long ltrunc(const T& v); -#ifdef BOOST_HAS_LONG_LONG - template - boost::long_long_type lltrunc(const T& v, const Policy& pol); - template - boost::long_long_type lltrunc(const T& v); -#endif - template - typename tools::promote_args::type round(const T& v, const Policy& pol); - template - typename tools::promote_args::type round(const T& v); - template - int iround(const T& v, const Policy& pol); - template - int iround(const T& v); - template - long lround(const T& v, const Policy& pol); - template - long lround(const T& v); -#ifdef BOOST_HAS_LONG_LONG - template - boost::long_long_type llround(const T& v, const Policy& pol); - template - boost::long_long_type llround(const T& v); -#endif - template - T modf(const T& v, T* ipart, const Policy& pol); - template - T modf(const T& v, T* ipart); - template - T modf(const T& v, int* ipart, const Policy& pol); - template - T modf(const T& v, int* ipart); - template - T modf(const T& v, long* ipart, const Policy& pol); - template - T modf(const T& v, long* ipart); -#ifdef BOOST_HAS_LONG_LONG - template - T modf(const T& v, boost::long_long_type* ipart, const Policy& pol); - template - 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/3rdparty/boost/boost/math/special_functions/fpclassify.hpp b/3rdparty/boost/boost/math/special_functions/fpclassify.hpp deleted file mode 100644 index d83e111c48..0000000000 --- a/3rdparty/boost/boost/math/special_functions/fpclassify.hpp +++ /dev/null @@ -1,640 +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 -#include -#include -#include -#include -#include -#include -/*! - \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 -#endif -#ifdef BOOST_MATH_USE_FLOAT128 -#ifdef __has_include -#if __has_include("quadmath.h") -#include "quadmath.h" -#define BOOST_MATH_HAS_QUADMATH_H -#endif -#endif -#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 -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 -inline bool is_nan_helper(T, const boost::false_type&) -{ - return false; -} -#if defined(BOOST_MATH_USE_FLOAT128) -#if defined(BOOST_MATH_HAS_QUADMATH_H) -inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnanq(f); } -inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnanq(f); } -#elif defined(BOOST_GNU_STDLIB) && BOOST_GNU_STDLIB && \ - _GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC -inline bool is_nan_helper(__float128 f, const boost::true_type&) { return std::isnan(static_cast(f)); } -inline bool is_nan_helper(__float128 f, const boost::false_type&) { return std::isnan(static_cast(f)); } -#else -inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnan(static_cast(f)); } -inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnan(static_cast(f)); } -#endif -#endif -} - -namespace math{ - -namespace detail{ - -#ifdef BOOST_MATH_USE_STD_FPCLASSIFY -template -inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const native_tag&) -{ - return (std::fpclassify)(t); -} -#endif - -template -inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag&) -{ - 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())) - return FP_NAN; -#elif defined(isnan) - if(boost::math_detail::is_nan_helper(t, ::boost::is_floating_point())) - return FP_NAN; -#elif defined(_MSC_VER) || defined(__BORLANDC__) - if(::_isnan(boost::math::tools::real_cast(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::max)()) - { - if(at >= (std::numeric_limits::min)()) - return FP_NORMAL; - return (at != 0) ? FP_SUBNORMAL : FP_ZERO; - } - else if(at > (std::numeric_limits::max)()) - return FP_INFINITE; - return FP_NAN; -} - -template -inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag&) -{ -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - if(std::numeric_limits::is_specialized) - return fpclassify_imp(t, generic_tag()); -#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 -int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_all_bits_tag) -{ - typedef BOOST_DEDUCED_TYPENAME fp_traits::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 -int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_leading_bits_tag) -{ - typedef BOOST_DEDUCED_TYPENAME fp_traits::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()); -} -#endif - -} // namespace detail - -template -inline int fpclassify BOOST_NO_MACRO_EXPAND(T t) -{ - typedef typename detail::fp_traits::type traits; - typedef typename traits::method method; - typedef typename tools::promote_args_permissive::type value_type; -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - if(std::numeric_limits::is_specialized && detail::is_generic_tag_false(static_cast(0))) - return detail::fpclassify_imp(static_cast(t), detail::generic_tag()); - return detail::fpclassify_imp(static_cast(t), method()); -#else - return detail::fpclassify_imp(static_cast(t), method()); -#endif -} - -#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -template <> -inline int fpclassify BOOST_NO_MACRO_EXPAND(long double t) -{ - typedef detail::fp_traits::type traits; - typedef traits::method method; - typedef long double value_type; -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - if(std::numeric_limits::is_specialized && detail::is_generic_tag_false(static_cast(0))) - return detail::fpclassify_imp(static_cast(t), detail::generic_tag()); - return detail::fpclassify_imp(static_cast(t), method()); -#else - return detail::fpclassify_imp(static_cast(t), method()); -#endif -} -#endif - -namespace detail { - -#ifdef BOOST_MATH_USE_STD_FPCLASSIFY - template - inline bool isfinite_impl(T x, native_tag const&) - { - return (std::isfinite)(x); - } -#endif - - template - inline bool isfinite_impl(T x, generic_tag const&) - { - return x >= -(std::numeric_limits::max)() - && x <= (std::numeric_limits::max)(); - } - - template - inline bool isfinite_impl(T x, generic_tag const&) - { -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - if(std::numeric_limits::is_specialized) - return isfinite_impl(x, generic_tag()); -#endif - (void)x; // warning suppression. - return true; - } - - template - inline bool isfinite_impl(T x, ieee_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME detail::fp_traits::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()); -} -#endif - -} - -template -inline bool (isfinite)(T x) -{ //!< \brief return true if floating-point type t is finite. - typedef typename detail::fp_traits::type traits; - typedef typename traits::method method; - // typedef typename boost::is_floating_point::type fp_tag; - typedef typename tools::promote_args_permissive::type value_type; - return detail::isfinite_impl(static_cast(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::type traits; - typedef traits::method method; - //typedef boost::is_floating_point::type fp_tag; - typedef long double value_type; - return detail::isfinite_impl(static_cast(x), method()); -} -#endif - -//------------------------------------------------------------------------------ - -namespace detail { - -#ifdef BOOST_MATH_USE_STD_FPCLASSIFY - template - inline bool isnormal_impl(T x, native_tag const&) - { - return (std::isnormal)(x); - } -#endif - - template - inline bool isnormal_impl(T x, generic_tag const&) - { - if(x < 0) x = -x; - return x >= (std::numeric_limits::min)() - && x <= (std::numeric_limits::max)(); - } - - template - inline bool isnormal_impl(T x, generic_tag const&) - { -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - if(std::numeric_limits::is_specialized) - return isnormal_impl(x, generic_tag()); -#endif - return !(x == 0); - } - - template - inline bool isnormal_impl(T x, ieee_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME detail::fp_traits::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()); -} -#endif - -} - -template -inline bool (isnormal)(T x) -{ - typedef typename detail::fp_traits::type traits; - typedef typename traits::method method; - //typedef typename boost::is_floating_point::type fp_tag; - typedef typename tools::promote_args_permissive::type value_type; - return detail::isnormal_impl(static_cast(x), method()); -} - -#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -template<> -inline bool (isnormal)(long double x) -{ - typedef detail::fp_traits::type traits; - typedef traits::method method; - //typedef boost::is_floating_point::type fp_tag; - typedef long double value_type; - return detail::isnormal_impl(static_cast(x), method()); -} -#endif - -//------------------------------------------------------------------------------ - -namespace detail { - -#ifdef BOOST_MATH_USE_STD_FPCLASSIFY - template - inline bool isinf_impl(T x, native_tag const&) - { - return (std::isinf)(x); - } -#endif - - template - inline bool isinf_impl(T x, generic_tag const&) - { - (void)x; // in case the compiler thinks that x is unused because std::numeric_limits::has_infinity is false - return std::numeric_limits::has_infinity - && ( x == std::numeric_limits::infinity() - || x == -std::numeric_limits::infinity()); - } - - template - inline bool isinf_impl(T x, generic_tag const&) - { -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - if(std::numeric_limits::is_specialized) - return isinf_impl(x, generic_tag()); -#endif - (void)x; // warning suppression. - return false; - } - - template - inline bool isinf_impl(T x, ieee_copy_all_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - a &= traits::exponent | traits::significand; - return a == traits::exponent; - } - - template - inline bool isinf_impl(T x, ieee_copy_leading_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - 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()); -} -#endif - -} // namespace detail - -template -inline bool (isinf)(T x) -{ - typedef typename detail::fp_traits::type traits; - typedef typename traits::method method; - // typedef typename boost::is_floating_point::type fp_tag; - typedef typename tools::promote_args_permissive::type value_type; - return detail::isinf_impl(static_cast(x), method()); -} - -#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -template<> -inline bool (isinf)(long double x) -{ - typedef detail::fp_traits::type traits; - typedef traits::method method; - //typedef boost::is_floating_point::type fp_tag; - typedef long double value_type; - return detail::isinf_impl(static_cast(x), method()); -} -#endif -#if defined(BOOST_MATH_USE_FLOAT128) && defined(BOOST_MATH_HAS_QUADMATH_H) -template<> -inline bool (isinf)(__float128 x) -{ - return ::isinfq(x); -} -#endif - -//------------------------------------------------------------------------------ - -namespace detail { - -#ifdef BOOST_MATH_USE_STD_FPCLASSIFY - template - inline bool isnan_impl(T x, native_tag const&) - { - return (std::isnan)(x); - } -#endif - - template - inline bool isnan_impl(T x, generic_tag const&) - { - return std::numeric_limits::has_infinity - ? !(x <= std::numeric_limits::infinity()) - : x != x; - } - - template - inline bool isnan_impl(T x, generic_tag const&) - { -#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - if(std::numeric_limits::is_specialized) - return isnan_impl(x, generic_tag()); -#endif - (void)x; // warning suppression - return false; - } - - template - inline bool isnan_impl(T x, ieee_copy_all_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - a &= traits::exponent | traits::significand; - return a > traits::exponent; - } - - template - inline bool isnan_impl(T x, ieee_copy_leading_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - - 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 -inline bool (isnan)(T x) -{ //!< \brief return true if floating-point type t is NaN (Not A Number). - typedef typename detail::fp_traits::type traits; - typedef typename traits::method method; - // typedef typename boost::is_floating_point::type fp_tag; - return detail::isnan_impl(x, method()); -} - -#ifdef isnan -template <> inline bool isnan BOOST_NO_MACRO_EXPAND(float t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); } -template <> inline bool isnan BOOST_NO_MACRO_EXPAND(double t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); } -template <> inline bool isnan BOOST_NO_MACRO_EXPAND(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::type traits; - typedef traits::method method; - //typedef boost::is_floating_point::type fp_tag; - return detail::isnan_impl(x, method()); -} -#endif -#if defined(BOOST_MATH_USE_FLOAT128) && defined(BOOST_MATH_HAS_QUADMATH_H) -template<> -inline bool (isnan)(__float128 x) -{ - return ::isnanq(x); -} -#endif - -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_FPCLASSIFY_HPP - diff --git a/3rdparty/boost/boost/math/special_functions/math_fwd.hpp b/3rdparty/boost/boost/math/special_functions/math_fwd.hpp deleted file mode 100644 index bf5ad6b6e4..0000000000 --- a/3rdparty/boost/boost/math/special_functions/math_fwd.hpp +++ /dev/null @@ -1,1712 +0,0 @@ -// math_fwd.hpp - -// TODO revise completely for new distribution classes. - -// Copyright Paul A. Bristow 2006. -// Copyright John Maddock 2006. - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt -// or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Omnibus list of forward declarations of math special functions. - -// IT = Integer type. -// RT = Real type (built-in floating-point types, float, double, long double) & User Defined Types -// AT = Integer or Real type - -#ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP -#define BOOST_MATH_SPECIAL_MATH_FWD_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include // for argument promotion. -#include -#include -#include -#include - -#define BOOST_NO_MACRO_EXPAND /**/ - -namespace boost -{ - namespace math - { // Math functions (in roughly alphabetic order). - - // Beta functions. - template - typename tools::promote_args::type - beta(RT1 a, RT2 b); // Beta function (2 arguments). - - template - typename tools::promote_args::type - beta(RT1 a, RT2 b, A x); // Beta function (3 arguments). - - template - typename tools::promote_args::type - beta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Beta function (3 arguments). - - template - typename tools::promote_args::type - betac(RT1 a, RT2 b, RT3 x); - - template - typename tools::promote_args::type - betac(RT1 a, RT2 b, RT3 x, const Policy& pol); - - template - typename tools::promote_args::type - ibeta(RT1 a, RT2 b, RT3 x); // Incomplete beta function. - - template - typename tools::promote_args::type - ibeta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta function. - - template - typename tools::promote_args::type - ibetac(RT1 a, RT2 b, RT3 x); // Incomplete beta complement function. - - template - typename tools::promote_args::type - ibetac(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta complement function. - - template - typename tools::promote_args::type - ibeta_inv(T1 a, T2 b, T3 p, T4* py); - - template - typename tools::promote_args::type - ibeta_inv(T1 a, T2 b, T3 p, T4* py, const Policy& pol); - - template - typename tools::promote_args::type - ibeta_inv(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_inv(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_inva(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_inva(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_invb(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibeta_invb(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. - - template - typename tools::promote_args::type - ibetac_inv(T1 a, T2 b, T3 q, T4* py); - - template - typename tools::promote_args::type - ibetac_inv(T1 a, T2 b, T3 q, T4* py, const Policy& pol); - - template - typename tools::promote_args::type - ibetac_inv(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_inv(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_inva(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_inva(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_invb(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibetac_invb(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. - - template - typename tools::promote_args::type - ibeta_derivative(RT1 a, RT2 b, RT3 x); // derivative of incomplete beta - - template - typename tools::promote_args::type - ibeta_derivative(RT1 a, RT2 b, RT3 x, const Policy& pol); // derivative of incomplete beta - - // Binomial: - template - T binomial_coefficient(unsigned n, unsigned k, const Policy& pol); - template - T binomial_coefficient(unsigned n, unsigned k); - - // erf & erfc error functions. - template // Error function. - typename tools::promote_args::type erf(RT z); - template // Error function. - typename tools::promote_args::type erf(RT z, const Policy&); - - template // Error function complement. - typename tools::promote_args::type erfc(RT z); - template // Error function complement. - typename tools::promote_args::type erfc(RT z, const Policy&); - - template // Error function inverse. - typename tools::promote_args::type erf_inv(RT z); - template // Error function inverse. - typename tools::promote_args::type erf_inv(RT z, const Policy& pol); - - template // Error function complement inverse. - typename tools::promote_args::type erfc_inv(RT z); - template // Error function complement inverse. - typename tools::promote_args::type erfc_inv(RT z, const Policy& pol); - - // Polynomials: - template - typename tools::promote_args::type - legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1); - - template - typename tools::promote_args::type - legendre_p(int l, T x); - template - typename tools::promote_args::type - legendre_p_prime(int l, T x); - - - template - inline std::vector legendre_p_zeros(int l, const Policy& pol); - - template - inline std::vector legendre_p_zeros(int l); - -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1310) - template - typename boost::enable_if_c::value, typename tools::promote_args::type>::type - legendre_p(int l, T x, const Policy& pol); - template - inline typename boost::enable_if_c::value, typename tools::promote_args::type>::type - legendre_p_prime(int l, T x, const Policy& pol); -#endif - template - typename tools::promote_args::type - legendre_q(unsigned l, T x); -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1310) - template - typename boost::enable_if_c::value, typename tools::promote_args::type>::type - legendre_q(unsigned l, T x, const Policy& pol); -#endif - template - typename tools::promote_args::type - legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1); - - template - typename tools::promote_args::type - legendre_p(int l, int m, T x); - - template - typename tools::promote_args::type - legendre_p(int l, int m, T x, const Policy& pol); - - template - typename tools::promote_args::type - laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1); - - template - typename tools::promote_args::type - laguerre_next(unsigned n, unsigned l, T1 x, T2 Pl, T3 Plm1); - - template - typename tools::promote_args::type - laguerre(unsigned n, T x); - - template - typename tools::promote_args::type - laguerre(unsigned n, unsigned m, T x, const Policy& pol); - - template - struct laguerre_result - { - typedef typename mpl::if_< - policies::is_policy, - typename tools::promote_args::type, - typename tools::promote_args::type - >::type type; - }; - - template - typename laguerre_result::type - laguerre(unsigned n, T1 m, T2 x); - - template - typename tools::promote_args::type - hermite(unsigned n, T x); - - template - typename tools::promote_args::type - hermite(unsigned n, T x, const Policy& pol); - - template - typename tools::promote_args::type - hermite_next(unsigned n, T1 x, T2 Hn, T3 Hnm1); - - template - typename tools::promote_args::type chebyshev_next(T1 const & x, T2 const & Tn, T3 const & Tn_1); - - template - typename tools::promote_args::type - chebyshev_t(unsigned n, Real const & x, const Policy&); - template - typename tools::promote_args::type chebyshev_t(unsigned n, Real const & x); - - template - typename tools::promote_args::type - chebyshev_u(unsigned n, Real const & x, const Policy&); - template - typename tools::promote_args::type chebyshev_u(unsigned n, Real const & x); - - template - typename tools::promote_args::type - chebyshev_t_prime(unsigned n, Real const & x, const Policy&); - template - typename tools::promote_args::type chebyshev_t_prime(unsigned n, Real const & x); - - template - Real chebyshev_clenshaw_recurrence(const Real* const c, size_t length, const T2& x); - - template - std::complex::type> - spherical_harmonic(unsigned n, int m, T1 theta, T2 phi); - - template - std::complex::type> - spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type - spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi); - - template - typename tools::promote_args::type - spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi); - - template - typename tools::promote_args::type - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); - - // Elliptic integrals: - template - typename tools::promote_args::type - ellint_rf(T1 x, T2 y, T3 z); - - template - typename tools::promote_args::type - ellint_rf(T1 x, T2 y, T3 z, const Policy& pol); - - template - typename tools::promote_args::type - ellint_rd(T1 x, T2 y, T3 z); - - template - typename tools::promote_args::type - ellint_rd(T1 x, T2 y, T3 z, const Policy& pol); - - template - typename tools::promote_args::type - ellint_rc(T1 x, T2 y); - - template - typename tools::promote_args::type - ellint_rc(T1 x, T2 y, const Policy& pol); - - template - typename tools::promote_args::type - ellint_rj(T1 x, T2 y, T3 z, T4 p); - - template - typename tools::promote_args::type - ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol); - - template - typename tools::promote_args::type - ellint_rg(T1 x, T2 y, T3 z); - - template - typename tools::promote_args::type - ellint_rg(T1 x, T2 y, T3 z, const Policy& pol); - - template - typename tools::promote_args::type ellint_2(T k); - - template - typename tools::promote_args::type ellint_2(T1 k, T2 phi); - - template - typename tools::promote_args::type ellint_2(T1 k, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type ellint_1(T k); - - template - typename tools::promote_args::type ellint_1(T1 k, T2 phi); - - template - typename tools::promote_args::type ellint_1(T1 k, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type ellint_d(T k); - - template - typename tools::promote_args::type ellint_d(T1 k, T2 phi); - - template - typename tools::promote_args::type ellint_d(T1 k, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type jacobi_zeta(T1 k, T2 phi); - - template - typename tools::promote_args::type jacobi_zeta(T1 k, T2 phi, const Policy& pol); - - template - typename tools::promote_args::type heuman_lambda(T1 k, T2 phi); - - template - typename tools::promote_args::type heuman_lambda(T1 k, T2 phi, const Policy& pol); - - namespace detail{ - - template - struct ellint_3_result - { - typedef typename mpl::if_< - policies::is_policy, - typename tools::promote_args::type, - typename tools::promote_args::type - >::type type; - }; - - } // namespace detail - - - template - typename detail::ellint_3_result::type ellint_3(T1 k, T2 v, T3 phi); - - template - typename tools::promote_args::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol); - - template - typename tools::promote_args::type ellint_3(T1 k, T2 v); - - // Factorial functions. - // Note: not for integral types, at present. - template - struct max_factorial; - template - RT factorial(unsigned int); - template - RT factorial(unsigned int, const Policy& pol); - template - RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT)); - template - RT double_factorial(unsigned i); - template - RT double_factorial(unsigned i, const Policy& pol); - - template - typename tools::promote_args::type falling_factorial(RT x, unsigned n); - - template - typename tools::promote_args::type falling_factorial(RT x, unsigned n, const Policy& pol); - - template - typename tools::promote_args::type rising_factorial(RT x, int n); - - template - typename tools::promote_args::type rising_factorial(RT x, int n, const Policy& pol); - - // Gamma functions. - template - typename tools::promote_args::type tgamma(RT z); - - template - typename tools::promote_args::type tgamma1pm1(RT z); - - template - typename tools::promote_args::type tgamma1pm1(RT z, const Policy& pol); - - template - typename tools::promote_args::type tgamma(RT1 a, RT2 z); - - template - typename tools::promote_args::type tgamma(RT1 a, RT2 z, const Policy& pol); - - template - typename tools::promote_args::type lgamma(RT z, int* sign); - - template - typename tools::promote_args::type lgamma(RT z, int* sign, const Policy& pol); - - template - typename tools::promote_args::type lgamma(RT x); - - template - typename tools::promote_args::type lgamma(RT x, const Policy& pol); - - template - typename tools::promote_args::type tgamma_lower(RT1 a, RT2 z); - - template - typename tools::promote_args::type tgamma_lower(RT1 a, RT2 z, const Policy&); - - template - typename tools::promote_args::type gamma_q(RT1 a, RT2 z); - - template - typename tools::promote_args::type gamma_q(RT1 a, RT2 z, const Policy&); - - template - typename tools::promote_args::type gamma_p(RT1 a, RT2 z); - - template - typename tools::promote_args::type gamma_p(RT1 a, RT2 z, const Policy&); - - template - typename tools::promote_args::type tgamma_delta_ratio(T1 z, T2 delta); - - template - typename tools::promote_args::type tgamma_delta_ratio(T1 z, T2 delta, const Policy&); - - template - typename tools::promote_args::type tgamma_ratio(T1 a, T2 b); - - template - typename tools::promote_args::type tgamma_ratio(T1 a, T2 b, const Policy&); - - template - typename tools::promote_args::type gamma_p_derivative(T1 a, T2 x); - - template - typename tools::promote_args::type gamma_p_derivative(T1 a, T2 x, const Policy&); - - // gamma inverse. - template - typename tools::promote_args::type gamma_p_inv(T1 a, T2 p); - - template - typename tools::promote_args::type gamma_p_inva(T1 a, T2 p, const Policy&); - - template - typename tools::promote_args::type gamma_p_inva(T1 a, T2 p); - - template - typename tools::promote_args::type gamma_p_inv(T1 a, T2 p, const Policy&); - - template - typename tools::promote_args::type gamma_q_inv(T1 a, T2 q); - - template - typename tools::promote_args::type gamma_q_inv(T1 a, T2 q, const Policy&); - - template - typename tools::promote_args::type gamma_q_inva(T1 a, T2 q); - - template - typename tools::promote_args::type gamma_q_inva(T1 a, T2 q, const Policy&); - - // digamma: - template - typename tools::promote_args::type digamma(T x); - - template - typename tools::promote_args::type digamma(T x, const Policy&); - - // trigamma: - template - typename tools::promote_args::type trigamma(T x); - - template - typename tools::promote_args::type trigamma(T x, const Policy&); - - // polygamma: - template - typename tools::promote_args::type polygamma(int n, T x); - - template - typename tools::promote_args::type polygamma(int n, T x, const Policy&); - - // Hypotenuse function sqrt(x ^ 2 + y ^ 2). - template - typename tools::promote_args::type - hypot(T1 x, T2 y); - - template - typename tools::promote_args::type - hypot(T1 x, T2 y, const Policy&); - - // cbrt - cube root. - template - typename tools::promote_args::type cbrt(RT z); - - template - typename tools::promote_args::type cbrt(RT z, const Policy&); - - // log1p is log(x + 1) - template - typename tools::promote_args::type log1p(T); - - template - typename tools::promote_args::type log1p(T, const Policy&); - - // log1pmx is log(x + 1) - x - template - typename tools::promote_args::type log1pmx(T); - - template - typename tools::promote_args::type log1pmx(T, const Policy&); - - // Exp (x) minus 1 functions. - template - typename tools::promote_args::type expm1(T); - - template - typename tools::promote_args::type expm1(T, const Policy&); - - // Power - 1 - template - typename tools::promote_args::type - powm1(const T1 a, const T2 z); - - template - typename tools::promote_args::type - powm1(const T1 a, const T2 z, const Policy&); - - // sqrt(1+x) - 1 - template - typename tools::promote_args::type sqrt1pm1(const T& val); - - template - typename tools::promote_args::type sqrt1pm1(const T& val, const Policy&); - - // sinus cardinals: - template - typename tools::promote_args::type sinc_pi(T x); - - template - typename tools::promote_args::type sinc_pi(T x, const Policy&); - - template - typename tools::promote_args::type sinhc_pi(T x); - - template - typename tools::promote_args::type sinhc_pi(T x, const Policy&); - - // inverse hyperbolics: - template - typename tools::promote_args::type asinh(T x); - - template - typename tools::promote_args::type asinh(T x, const Policy&); - - template - typename tools::promote_args::type acosh(T x); - - template - typename tools::promote_args::type acosh(T x, const Policy&); - - template - typename tools::promote_args::type atanh(T x); - - template - typename tools::promote_args::type atanh(T x, const Policy&); - - namespace detail{ - - typedef mpl::int_<0> bessel_no_int_tag; // No integer optimisation possible. - typedef mpl::int_<1> bessel_maybe_int_tag; // Maybe integer optimisation. - typedef mpl::int_<2> bessel_int_tag; // Definite integer optimistaion. - - template - struct bessel_traits - { - typedef typename mpl::if_< - is_integral, - typename tools::promote_args::type, - typename tools::promote_args::type - >::type result_type; - - typedef typename policies::precision::type precision_type; - - typedef typename mpl::if_< - mpl::or_< - mpl::less_equal >, - mpl::greater > >, - bessel_no_int_tag, - typename mpl::if_< - is_integral, - bessel_int_tag, - bessel_maybe_int_tag - >::type - >::type optimisation_tag; - typedef typename mpl::if_< - mpl::or_< - mpl::less_equal >, - mpl::greater > >, - bessel_no_int_tag, - typename mpl::if_< - is_integral, - bessel_int_tag, - bessel_maybe_int_tag - >::type - >::type optimisation_tag128; - }; - } // detail - - // Bessel functions: - template - typename detail::bessel_traits::result_type cyl_bessel_j(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_bessel_j_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_j(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_bessel_j_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type sph_bessel(unsigned v, T x, const Policy& pol); - template - typename detail::bessel_traits::result_type sph_bessel_prime(unsigned v, T x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type sph_bessel(unsigned v, T x); - template - typename detail::bessel_traits >::result_type sph_bessel_prime(unsigned v, T x); - - template - typename detail::bessel_traits::result_type cyl_bessel_i(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_bessel_i_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_i(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_bessel_i_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type cyl_bessel_k(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_bessel_k_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_k(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_bessel_k_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type cyl_neumann(T1 v, T2 x, const Policy& pol); - template - typename detail::bessel_traits::result_type cyl_neumann_prime(T1 v, T2 x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_neumann(T1 v, T2 x); - template - typename detail::bessel_traits >::result_type cyl_neumann_prime(T1 v, T2 x); - - template - typename detail::bessel_traits::result_type sph_neumann(unsigned v, T x, const Policy& pol); - template - typename detail::bessel_traits::result_type sph_neumann_prime(unsigned v, T x, const Policy& pol); - - template - typename detail::bessel_traits >::result_type sph_neumann(unsigned v, T x); - template - typename detail::bessel_traits >::result_type sph_neumann_prime(unsigned v, T x); - - template - typename detail::bessel_traits::result_type cyl_bessel_j_zero(T v, int m, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_bessel_j_zero(T v, int m); - - template - OutputIterator cyl_bessel_j_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - - template - OutputIterator cyl_bessel_j_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - typename detail::bessel_traits::result_type cyl_neumann_zero(T v, int m, const Policy& pol); - - template - typename detail::bessel_traits >::result_type cyl_neumann_zero(T v, int m); - - template - OutputIterator cyl_neumann_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - - template - OutputIterator cyl_neumann_zero(T v, - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - std::complex >::result_type> cyl_hankel_1(T1 v, T2 x); - - template - std::complex::result_type> cyl_hankel_1(T1 v, T2 x, const Policy& pol); - - template - std::complex::result_type> cyl_hankel_2(T1 v, T2 x, const Policy& pol); - - template - std::complex >::result_type> cyl_hankel_2(T1 v, T2 x); - - template - std::complex::result_type> sph_hankel_1(T1 v, T2 x, const Policy& pol); - - template - std::complex >::result_type> sph_hankel_1(T1 v, T2 x); - - template - std::complex::result_type> sph_hankel_2(T1 v, T2 x, const Policy& pol); - - template - std::complex >::result_type> sph_hankel_2(T1 v, T2 x); - - template - typename tools::promote_args::type airy_ai(T x, const Policy&); - - template - typename tools::promote_args::type airy_ai(T x); - - template - typename tools::promote_args::type airy_bi(T x, const Policy&); - - template - typename tools::promote_args::type airy_bi(T x); - - template - typename tools::promote_args::type airy_ai_prime(T x, const Policy&); - - template - typename tools::promote_args::type airy_ai_prime(T x); - - template - typename tools::promote_args::type airy_bi_prime(T x, const Policy&); - - template - typename tools::promote_args::type airy_bi_prime(T x); - - template - T airy_ai_zero(int m); - template - T airy_ai_zero(int m, const Policy&); - - template - OutputIterator airy_ai_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - template - OutputIterator airy_ai_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - T airy_bi_zero(int m); - template - T airy_bi_zero(int m, const Policy&); - - template - OutputIterator airy_bi_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it); - template - OutputIterator airy_bi_zero( - int start_index, - unsigned number_of_zeros, - OutputIterator out_it, - const Policy&); - - template - typename tools::promote_args::type sin_pi(T x, const Policy&); - - template - typename tools::promote_args::type sin_pi(T x); - - template - typename tools::promote_args::type cos_pi(T x, const Policy&); - - template - typename tools::promote_args::type cos_pi(T x); - - template - int fpclassify BOOST_NO_MACRO_EXPAND(T t); - - template - bool isfinite BOOST_NO_MACRO_EXPAND(T z); - - template - bool isinf BOOST_NO_MACRO_EXPAND(T t); - - template - bool isnan BOOST_NO_MACRO_EXPAND(T t); - - template - bool isnormal BOOST_NO_MACRO_EXPAND(T t); - - template - int signbit BOOST_NO_MACRO_EXPAND(T x); - - template - int sign BOOST_NO_MACRO_EXPAND(const T& z); - - template - typename tools::promote_args_permissive::type copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y); - - template - typename tools::promote_args_permissive::type changesign BOOST_NO_MACRO_EXPAND(const T& z); - - // Exponential integrals: - namespace detail{ - - template - struct expint_result - { - typedef typename mpl::if_< - policies::is_policy, - typename tools::promote_args::type, - typename tools::promote_args::type - >::type type; - }; - - } // namespace detail - - template - typename tools::promote_args::type expint(unsigned n, T z, const Policy&); - - template - typename detail::expint_result::type expint(T const z, U const u); - - template - typename tools::promote_args::type expint(T z); - - // Zeta: - template - typename tools::promote_args::type zeta(T s, const Policy&); - - // Owen's T function: - template - typename tools::promote_args::type owens_t(T1 h, T2 a, const Policy& pol); - - template - typename tools::promote_args::type owens_t(T1 h, T2 a); - - // Jacobi Functions: - template - typename tools::promote_args::type jacobi_elliptic(T k, U theta, V* pcn, V* pdn, const Policy&); - - template - typename tools::promote_args::type jacobi_elliptic(T k, U theta, V* pcn = 0, V* pdn = 0); - - template - typename tools::promote_args::type jacobi_sn(U k, T theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_sn(U k, T theta); - - template - typename tools::promote_args::type jacobi_cn(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_cn(T k, U theta); - - template - typename tools::promote_args::type jacobi_dn(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_dn(T k, U theta); - - template - typename tools::promote_args::type jacobi_cd(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_cd(T k, U theta); - - template - typename tools::promote_args::type jacobi_dc(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_dc(T k, U theta); - - template - typename tools::promote_args::type jacobi_ns(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_ns(T k, U theta); - - template - typename tools::promote_args::type jacobi_sd(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_sd(T k, U theta); - - template - typename tools::promote_args::type jacobi_ds(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_ds(T k, U theta); - - template - typename tools::promote_args::type jacobi_nc(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_nc(T k, U theta); - - template - typename tools::promote_args::type jacobi_nd(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_nd(T k, U theta); - - template - typename tools::promote_args::type jacobi_sc(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_sc(T k, U theta); - - template - typename tools::promote_args::type jacobi_cs(T k, U theta, const Policy& pol); - - template - typename tools::promote_args::type jacobi_cs(T k, U theta); - - - template - typename tools::promote_args::type zeta(T s); - - // pow: - template - typename tools::promote_args::type pow(T base, const Policy& policy); - - template - typename tools::promote_args::type pow(T base); - - // next: - template - typename tools::promote_args::type nextafter(const T&, const U&, const Policy&); - template - typename tools::promote_args::type nextafter(const T&, const U&); - template - typename tools::promote_args::type float_next(const T&, const Policy&); - template - typename tools::promote_args::type float_next(const T&); - template - typename tools::promote_args::type float_prior(const T&, const Policy&); - template - typename tools::promote_args::type float_prior(const T&); - template - typename tools::promote_args::type float_distance(const T&, const U&, const Policy&); - template - typename tools::promote_args::type float_distance(const T&, const U&); - template - typename tools::promote_args::type float_advance(T val, int distance, const Policy& pol); - template - typename tools::promote_args::type float_advance(const T& val, int distance); - - template - typename tools::promote_args::type ulp(const T& val, const Policy& pol); - template - typename tools::promote_args::type ulp(const T& val); - - template - typename tools::promote_args::type relative_difference(const T&, const U&); - template - typename tools::promote_args::type epsilon_difference(const T&, const U&); - - template - BOOST_MATH_CONSTEXPR_TABLE_FUNCTION T unchecked_bernoulli_b2n(const std::size_t n); - template - T bernoulli_b2n(const int i, const Policy &pol); - template - T bernoulli_b2n(const int i); - template - OutputIterator bernoulli_b2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it, - const Policy& pol); - template - OutputIterator bernoulli_b2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it); - template - T tangent_t2n(const int i, const Policy &pol); - template - T tangent_t2n(const int i); - template - OutputIterator tangent_t2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it, - const Policy& pol); - template - OutputIterator tangent_t2n(const int start_index, - const unsigned number_of_bernoullis_b2n, - OutputIterator out_it); - - // Lambert W: - template - typename boost::math::tools::promote_args::type lambert_w0(T z, const Policy& pol); - template - typename boost::math::tools::promote_args::type lambert_w0(T z); - template - typename boost::math::tools::promote_args::type lambert_wm1(T z, const Policy& pol); - template - typename boost::math::tools::promote_args::type lambert_wm1(T z); - template - typename boost::math::tools::promote_args::type lambert_w0_prime(T z, const Policy& pol); - template - typename boost::math::tools::promote_args::type lambert_w0_prime(T z); - template - typename boost::math::tools::promote_args::type lambert_wm1_prime(T z, const Policy& pol); - template - typename boost::math::tools::promote_args::type lambert_wm1_prime(T z); - - // Hypergeometrics: - template typename tools::promote_args::type hypergeometric_1F0(T1 a, T2 z); - template typename tools::promote_args::type hypergeometric_1F0(T1 a, T2 z, const Policy&); - - template typename tools::promote_args::type hypergeometric_0F1(T1 b, T2 z); - template typename tools::promote_args::type hypergeometric_0F1(T1 b, T2 z, const Policy&); - - template typename tools::promote_args::type hypergeometric_2F0(T1 a1, T2 a2, T3 z); - template typename tools::promote_args::type hypergeometric_2F0(T1 a1, T2 a2, T3 z, const Policy&); - - template typename tools::promote_args::type hypergeometric_1F1(T1 a, T2 b, T3 z); - template typename tools::promote_args::type hypergeometric_1F1(T1 a, T2 b, T3 z, const Policy&); - - - } // namespace math -} // namespace boost - -#ifdef BOOST_HAS_LONG_LONG -#define BOOST_MATH_DETAIL_LL_FUNC(Policy)\ - \ - template \ - inline T modf(const T& v, boost::long_long_type* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline boost::long_long_type lltrunc(const T& v){ using boost::math::lltrunc; return lltrunc(v, Policy()); }\ - \ - template \ - inline boost::long_long_type llround(const T& v){ using boost::math::llround; return llround(v, Policy()); }\ - -#else -#define BOOST_MATH_DETAIL_LL_FUNC(Policy) -#endif - -#if !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_CXX11_HDR_ARRAY) -# define BOOST_MATH_DETAIL_11_FUNC(Policy)\ - template \ - inline typename boost::math::tools::promote_args::type hypergeometric_1F1(const T& a, const U& b, const V& z)\ - { return boost::math::hypergeometric_1F1(a, b, z, Policy()); }\ - -#else -# define BOOST_MATH_DETAIL_11_FUNC(Policy) -#endif - -#define BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)\ - \ - BOOST_MATH_DETAIL_LL_FUNC(Policy)\ - BOOST_MATH_DETAIL_11_FUNC(Policy)\ - \ - template \ - inline typename boost::math::tools::promote_args::type \ - beta(RT1 a, RT2 b) { return ::boost::math::beta(a, b, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - beta(RT1 a, RT2 b, A x){ return ::boost::math::beta(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - betac(RT1 a, RT2 b, RT3 x) { return ::boost::math::betac(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibetac(a, b, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_inv(T1 a, T2 b, T3 p, T4* py){ return ::boost::math::ibeta_inv(a, b, p, py, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_inv(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inv(a, b, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_inv(T1 a, T2 b, T3 q, T4* py){ return ::boost::math::ibetac_inv(a, b, q, py, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_inva(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inva(a, b, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_inva(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_inva(a, b, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_invb(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_invb(a, b, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_invb(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_invb(a, b, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibetac_inv(RT1 a, RT2 b, RT3 q){ return ::boost::math::ibetac_inv(a, b, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ibeta_derivative(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta_derivative(a, b, x, Policy()); }\ -\ - template T binomial_coefficient(unsigned n, unsigned k){ return ::boost::math::binomial_coefficient(n, k, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erf(RT z) { return ::boost::math::erf(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erfc(RT z){ return ::boost::math::erfc(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erf_inv(RT z) { return ::boost::math::erf_inv(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type erfc_inv(RT z){ return ::boost::math::erfc_inv(z, Policy()); }\ -\ - using boost::math::legendre_next;\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - legendre_p(int l, T x){ return ::boost::math::legendre_p(l, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - legendre_p_prime(int l, T x){ return ::boost::math::legendre_p(l, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - legendre_q(unsigned l, T x){ return ::boost::math::legendre_q(l, x, Policy()); }\ -\ - using ::boost::math::legendre_next;\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - legendre_p(int l, int m, T x){ return ::boost::math::legendre_p(l, m, x, Policy()); }\ -\ - using ::boost::math::laguerre_next;\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - laguerre(unsigned n, T x){ return ::boost::math::laguerre(n, x, Policy()); }\ -\ - template \ - inline typename boost::math::laguerre_result::type \ - laguerre(unsigned n, T1 m, T2 x) { return ::boost::math::laguerre(n, m, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - hermite(unsigned n, T x){ return ::boost::math::hermite(n, x, Policy()); }\ -\ - using boost::math::hermite_next;\ -\ - using boost::math::chebyshev_next;\ -\ - template\ - Real chebyshev_t(unsigned n, Real const & x){ return ::boost::math::chebyshev_t(n, x, Policy()); }\ -\ - template\ - Real chebyshev_u(unsigned n, Real const & x){ return ::boost::math::chebyshev_u(n, x, Policy()); }\ -\ - template\ - Real chebyshev_t_prime(unsigned n, Real const & x){ return ::boost::math::chebyshev_t_prime(n, x, Policy()); }\ -\ - using ::boost::math::chebyshev_clenshaw_recurrence;\ -\ - template \ - inline std::complex::type> \ - spherical_harmonic(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic(n, m, theta, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi){ return ::boost::math::spherical_harmonic_r(n, m, theta, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic_i(n, m, theta, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rf(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rf(x, y, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rd(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rd(x, y, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rc(T1 x, T2 y){ return ::boost::math::ellint_rc(x, y, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rj(T1 x, T2 y, T3 z, T4 p){ return boost::math::ellint_rj(x, y, z, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - ellint_rg(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rg(x, y, z, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type ellint_2(T k){ return boost::math::ellint_2(k, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_2(T1 k, T2 phi){ return boost::math::ellint_2(k, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_d(T k){ return boost::math::ellint_d(k, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_d(T1 k, T2 phi){ return boost::math::ellint_d(k, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type jacobi_zeta(T1 k, T2 phi){ return boost::math::jacobi_zeta(k, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type heuman_lambda(T1 k, T2 phi){ return boost::math::heuman_lambda(k, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_1(T k){ return boost::math::ellint_1(k, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_1(T1 k, T2 phi){ return boost::math::ellint_1(k, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_3(T1 k, T2 v, T3 phi){ return boost::math::ellint_3(k, v, phi, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type ellint_3(T1 k, T2 v){ return boost::math::ellint_3(k, v, Policy()); }\ -\ - using boost::math::max_factorial;\ - template \ - inline RT factorial(unsigned int i) { return boost::math::factorial(i, Policy()); }\ - using boost::math::unchecked_factorial;\ - template \ - inline RT double_factorial(unsigned i){ return boost::math::double_factorial(i, Policy()); }\ - template \ - inline typename boost::math::tools::promote_args::type falling_factorial(RT x, unsigned n){ return boost::math::falling_factorial(x, n, Policy()); }\ - template \ - inline typename boost::math::tools::promote_args::type rising_factorial(RT x, unsigned n){ return boost::math::rising_factorial(x, n, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma(RT z){ return boost::math::tgamma(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma1pm1(RT z){ return boost::math::tgamma1pm1(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma(RT1 a, RT2 z){ return boost::math::tgamma(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type lgamma(RT z, int* sign){ return boost::math::lgamma(z, sign, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type lgamma(RT x){ return boost::math::lgamma(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma_lower(RT1 a, RT2 z){ return boost::math::tgamma_lower(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_q(RT1 a, RT2 z){ return boost::math::gamma_q(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p(RT1 a, RT2 z){ return boost::math::gamma_p(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma_delta_ratio(T1 z, T2 delta){ return boost::math::tgamma_delta_ratio(z, delta, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type tgamma_ratio(T1 a, T2 b) { return boost::math::tgamma_ratio(a, b, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p_derivative(T1 a, T2 x){ return boost::math::gamma_p_derivative(a, x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p_inv(T1 a, T2 p){ return boost::math::gamma_p_inv(a, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_p_inva(T1 a, T2 p){ return boost::math::gamma_p_inva(a, p, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_q_inv(T1 a, T2 q){ return boost::math::gamma_q_inv(a, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type gamma_q_inva(T1 a, T2 q){ return boost::math::gamma_q_inva(a, q, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type digamma(T x){ return boost::math::digamma(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type trigamma(T x){ return boost::math::trigamma(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type polygamma(int n, T x){ return boost::math::polygamma(n, x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type \ - hypot(T1 x, T2 y){ return boost::math::hypot(x, y, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type cbrt(RT z){ return boost::math::cbrt(z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type log1p(T x){ return boost::math::log1p(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type log1pmx(T x){ return boost::math::log1pmx(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type expm1(T x){ return boost::math::expm1(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type \ - powm1(const T1 a, const T2 z){ return boost::math::powm1(a, z, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sqrt1pm1(const T& val){ return boost::math::sqrt1pm1(val, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sinc_pi(T x){ return boost::math::sinc_pi(x, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sinhc_pi(T x){ return boost::math::sinhc_pi(x, Policy()); }\ -\ - template\ - inline typename boost::math::tools::promote_args::type asinh(const T x){ return boost::math::asinh(x, Policy()); }\ -\ - template\ - inline typename boost::math::tools::promote_args::type acosh(const T x){ return boost::math::acosh(x, Policy()); }\ -\ - template\ - inline typename boost::math::tools::promote_args::type atanh(const T x){ return boost::math::atanh(x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_bessel_j(T1 v, T2 x)\ - { return boost::math::cyl_bessel_j(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_bessel_j_prime(T1 v, T2 x)\ - { return boost::math::cyl_bessel_j_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type sph_bessel(unsigned v, T x)\ - { return boost::math::sph_bessel(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type sph_bessel_prime(unsigned v, T x)\ - { return boost::math::sph_bessel_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_i(T1 v, T2 x) { return boost::math::cyl_bessel_i(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_i_prime(T1 v, T2 x) { return boost::math::cyl_bessel_i_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_k(T1 v, T2 x) { return boost::math::cyl_bessel_k(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_bessel_k_prime(T1 v, T2 x) { return boost::math::cyl_bessel_k_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_neumann(T1 v, T2 x){ return boost::math::cyl_neumann(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - cyl_neumann_prime(T1 v, T2 x){ return boost::math::cyl_neumann_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - sph_neumann(unsigned v, T x){ return boost::math::sph_neumann(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type \ - sph_neumann_prime(unsigned v, T x){ return boost::math::sph_neumann_prime(v, x, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_bessel_j_zero(T v, int m)\ - { return boost::math::cyl_bessel_j_zero(v, m, Policy()); }\ -\ -template \ - inline void cyl_bessel_j_zero(T v,\ - int start_index,\ - unsigned number_of_zeros,\ - OutputIterator out_it)\ - { boost::math::cyl_bessel_j_zero(v, start_index, number_of_zeros, out_it, Policy()); }\ -\ - template \ - inline typename boost::math::detail::bessel_traits::result_type cyl_neumann_zero(T v, int m)\ - { return boost::math::cyl_neumann_zero(v, m, Policy()); }\ -\ -template \ - inline void cyl_neumann_zero(T v,\ - int start_index,\ - unsigned number_of_zeros,\ - OutputIterator out_it)\ - { boost::math::cyl_neumann_zero(v, start_index, number_of_zeros, out_it, Policy()); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type sin_pi(T x){ return boost::math::sin_pi(x); }\ -\ - template \ - inline typename boost::math::tools::promote_args::type cos_pi(T x){ return boost::math::cos_pi(x); }\ -\ - using boost::math::fpclassify;\ - using boost::math::isfinite;\ - using boost::math::isinf;\ - using boost::math::isnan;\ - using boost::math::isnormal;\ - using boost::math::signbit;\ - using boost::math::sign;\ - using boost::math::copysign;\ - using boost::math::changesign;\ - \ - template \ - inline typename boost::math::tools::promote_args::type expint(T const& z, U const& u)\ - { return boost::math::expint(z, u, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type expint(T z){ return boost::math::expint(z, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type zeta(T s){ return boost::math::zeta(s, Policy()); }\ - \ - template \ - inline T round(const T& v){ using boost::math::round; return round(v, Policy()); }\ - \ - template \ - inline int iround(const T& v){ using boost::math::iround; return iround(v, Policy()); }\ - \ - template \ - inline long lround(const T& v){ using boost::math::lround; return lround(v, Policy()); }\ - \ - template \ - inline T trunc(const T& v){ using boost::math::trunc; return trunc(v, Policy()); }\ - \ - template \ - inline int itrunc(const T& v){ using boost::math::itrunc; return itrunc(v, Policy()); }\ - \ - template \ - inline long ltrunc(const T& v){ using boost::math::ltrunc; return ltrunc(v, Policy()); }\ - \ - template \ - inline T modf(const T& v, T* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline T modf(const T& v, int* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline T modf(const T& v, long* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type pow(T v){ return boost::math::pow(v, Policy()); }\ - \ - template T nextafter(const T& a, const T& b){ return boost::math::nextafter(a, b, Policy()); }\ - template T float_next(const T& a){ return boost::math::float_next(a, Policy()); }\ - template T float_prior(const T& a){ return boost::math::float_prior(a, Policy()); }\ - template T float_distance(const T& a, const T& b){ return boost::math::float_distance(a, b, Policy()); }\ - template T ulp(const T& a){ return boost::math::ulp(a, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type owens_t(RT1 a, RT2 z){ return boost::math::owens_t(a, z, Policy()); }\ - \ - template \ - inline std::complex::result_type> cyl_hankel_1(T1 v, T2 x)\ - { return boost::math::cyl_hankel_1(v, x, Policy()); }\ - \ - template \ - inline std::complex::result_type> cyl_hankel_2(T1 v, T2 x)\ - { return boost::math::cyl_hankel_2(v, x, Policy()); }\ - \ - template \ - inline std::complex::result_type> sph_hankel_1(T1 v, T2 x)\ - { return boost::math::sph_hankel_1(v, x, Policy()); }\ - \ - template \ - inline std::complex::result_type> sph_hankel_2(T1 v, T2 x)\ - { return boost::math::sph_hankel_2(v, x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_elliptic(T k, T theta, T* pcn, T* pdn)\ - { return boost::math::jacobi_elliptic(k, theta, pcn, pdn, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_sn(U k, T theta)\ - { return boost::math::jacobi_sn(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_cn(T k, U theta)\ - { return boost::math::jacobi_cn(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_dn(T k, U theta)\ - { return boost::math::jacobi_dn(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_cd(T k, U theta)\ - { return boost::math::jacobi_cd(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_dc(T k, U theta)\ - { return boost::math::jacobi_dc(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_ns(T k, U theta)\ - { return boost::math::jacobi_ns(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_sd(T k, U theta)\ - { return boost::math::jacobi_sd(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_ds(T k, U theta)\ - { return boost::math::jacobi_ds(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_nc(T k, U theta)\ - { return boost::math::jacobi_nc(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_nd(T k, U theta)\ - { return boost::math::jacobi_nd(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_sc(T k, U theta)\ - { return boost::math::jacobi_sc(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type jacobi_cs(T k, U theta)\ - { return boost::math::jacobi_cs(k, theta, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_ai(T x)\ - { return boost::math::airy_ai(x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_bi(T x)\ - { return boost::math::airy_bi(x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_ai_prime(T x)\ - { return boost::math::airy_ai_prime(x, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type airy_bi_prime(T x)\ - { return boost::math::airy_bi_prime(x, Policy()); }\ - \ - template \ - inline T airy_ai_zero(int m)\ - { return boost::math::airy_ai_zero(m, Policy()); }\ - template \ - OutputIterator airy_ai_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\ - { return boost::math::airy_ai_zero(start_index, number_of_zeros, out_it, Policy()); }\ - \ - template \ - inline T airy_bi_zero(int m)\ - { return boost::math::airy_bi_zero(m, Policy()); }\ - template \ - OutputIterator airy_bi_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\ - { return boost::math::airy_bi_zero(start_index, number_of_zeros, out_it, Policy()); }\ - \ - template \ - T bernoulli_b2n(const int i)\ - { return boost::math::bernoulli_b2n(i, Policy()); }\ - template \ - OutputIterator bernoulli_b2n(int start_index, unsigned number_of_bernoullis_b2n, OutputIterator out_it)\ - { return boost::math::bernoulli_b2n(start_index, number_of_bernoullis_b2n, out_it, Policy()); }\ - \ - template \ - T tangent_t2n(const int i)\ - { return boost::math::tangent_t2n(i, Policy()); }\ - template \ - OutputIterator tangent_t2n(int start_index, unsigned number_of_bernoullis_b2n, OutputIterator out_it)\ - { return boost::math::tangent_t2n(start_index, number_of_bernoullis_b2n, out_it, Policy()); }\ - \ - template inline typename boost::math::tools::promote_args::type lambert_w0(T z) { return boost::math::lambert_w0(z, Policy()); }\ - template inline typename boost::math::tools::promote_args::type lambert_wm1(T z) { return boost::math::lambert_w0(z, Policy()); }\ - template inline typename boost::math::tools::promote_args::type lambert_w0_prime(T z) { return boost::math::lambert_w0(z, Policy()); }\ - template inline typename boost::math::tools::promote_args::type lambert_wm1_prime(T z) { return boost::math::lambert_w0(z, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type hypergeometric_1F0(const T& a, const U& z)\ - { return boost::math::hypergeometric_1F0(a, z, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type hypergeometric_0F1(const T& a, const U& z)\ - { return boost::math::hypergeometric_0F1(a, z, Policy()); }\ - \ - template \ - inline typename boost::math::tools::promote_args::type hypergeometric_2F0(const T& a1, const U& a2, const V& z)\ - { return boost::math::hypergeometric_2F0(a1, a2, z, Policy()); }\ - \ - - - - - - -#endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP diff --git a/3rdparty/boost/boost/math/special_functions/sign.hpp b/3rdparty/boost/boost/math/special_functions/sign.hpp deleted file mode 100644 index 5cb21bac54..0000000000 --- a/3rdparty/boost/boost/math/special_functions/sign.hpp +++ /dev/null @@ -1,194 +0,0 @@ -// (C) Copyright John Maddock 2006. -// (C) Copyright Johan Rade 2006. -// (C) Copyright Paul A. Bristow 2011 (added changesign). - -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_SIGN_HPP -#define BOOST_MATH_TOOLS_SIGN_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include - -namespace boost{ namespace math{ - -namespace detail { - - // signbit - -#ifdef BOOST_MATH_USE_STD_FPCLASSIFY - template - inline int signbit_impl(T x, native_tag const&) - { - return (std::signbit)(x) ? 1 : 0; - } -#endif - - // Generic versions first, note that these do not handle - // signed zero or NaN. - - template - inline int signbit_impl(T x, generic_tag const&) - { - return x < 0; - } - - template - inline int signbit_impl(T x, generic_tag const&) - { - return x < 0; - } - -#if defined(__GNUC__) && (LDBL_MANT_DIG == 106) - // - // Special handling for GCC's "double double" type, - // in this case the sign is the same as the sign we - // get by casting to double, no overflow/underflow - // can occur since the exponents are the same magnitude - // for the two types: - // - inline int signbit_impl(long double x, generic_tag const&) - { - return (boost::math::signbit)(static_cast(x)); - } - inline int signbit_impl(long double x, generic_tag const&) - { - return (boost::math::signbit)(static_cast(x)); - } -#endif - - template - inline int signbit_impl(T x, ieee_copy_all_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - return a & traits::sign ? 1 : 0; - } - - template - inline int signbit_impl(T x, ieee_copy_leading_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - - return a & traits::sign ? 1 : 0; - } - - // Changesign - - // Generic versions first, note that these do not handle - // signed zero or NaN. - - template - inline T (changesign_impl)(T x, generic_tag const&) - { - return -x; - } - - template - inline T (changesign_impl)(T x, generic_tag const&) - { - return -x; - } -#if defined(__GNUC__) && (LDBL_MANT_DIG == 106) - // - // Special handling for GCC's "double double" type, - // in this case we need to change the sign of both - // components of the "double double": - // - inline long double (changesign_impl)(long double x, generic_tag const&) - { - double* pd = reinterpret_cast(&x); - pd[0] = boost::math::changesign(pd[0]); - pd[1] = boost::math::changesign(pd[1]); - return x; - } - inline long double (changesign_impl)(long double x, generic_tag const&) - { - double* pd = reinterpret_cast(&x); - pd[0] = boost::math::changesign(pd[0]); - pd[1] = boost::math::changesign(pd[1]); - return x; - } -#endif - - template - inline T changesign_impl(T x, ieee_copy_all_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::sign_change_type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - a ^= traits::sign; - traits::set_bits(x,a); - return x; - } - - template - inline T (changesign_impl)(T x, ieee_copy_leading_bits_tag const&) - { - typedef BOOST_DEDUCED_TYPENAME fp_traits::sign_change_type traits; - - BOOST_DEDUCED_TYPENAME traits::bits a; - traits::get_bits(x,a); - a ^= traits::sign; - traits::set_bits(x,a); - return x; - } - - -} // namespace detail - -template int (signbit)(T x) -{ - typedef typename detail::fp_traits::type traits; - typedef typename traits::method method; - // typedef typename boost::is_floating_point::type fp_tag; - typedef typename tools::promote_args_permissive::type result_type; - return detail::signbit_impl(static_cast(x), method()); -} - -template -inline int sign BOOST_NO_MACRO_EXPAND(const T& z) -{ - return (z == 0) ? 0 : (boost::math::signbit)(z) ? -1 : 1; -} - -template typename tools::promote_args_permissive::type (changesign)(const T& x) -{ //!< \brief return unchanged binary pattern of x, except for change of sign bit. - typedef typename detail::fp_traits::sign_change_type traits; - typedef typename traits::method method; - // typedef typename boost::is_floating_point::type fp_tag; - typedef typename tools::promote_args_permissive::type result_type; - - return detail::changesign_impl(static_cast(x), method()); -} - -template -inline typename tools::promote_args_permissive::type - copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y) -{ - BOOST_MATH_STD_USING - typedef typename tools::promote_args_permissive::type result_type; - return (boost::math::signbit)(static_cast(x)) != (boost::math::signbit)(static_cast(y)) - ? (boost::math::changesign)(static_cast(x)) : static_cast(x); -} - -} // namespace math -} // namespace boost - - -#endif // BOOST_MATH_TOOLS_SIGN_HPP - - diff --git a/3rdparty/boost/boost/math/tools/config.hpp b/3rdparty/boost/boost/math/tools/config.hpp deleted file mode 100644 index 47fdea65c8..0000000000 --- a/3rdparty/boost/boost/math/tools/config.hpp +++ /dev/null @@ -1,469 +0,0 @@ -// Copyright (c) 2006-7 John Maddock -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_MATH_TOOLS_CONFIG_HPP -#define BOOST_MATH_TOOLS_CONFIG_HPP - -#ifdef _MSC_VER -#pragma once -#endif - -#include -#include -#include // for boost::uintmax_t -#include -#include -#include // for min and max -#include -#include -#include -#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) -# include -#endif -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# include -#endif - -#include - -#if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \ - || (defined(__hppa) && !defined(__OpenBSD__)) || (defined(__NO_LONG_DOUBLE_MATH) && (DBL_MANT_DIG != LDBL_MANT_DIG))) \ - && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#endif -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) -// -// Borland post 5.8.2 uses Dinkumware's std C lib which -// doesn't have true long double precision. Earlier -// versions are problematic too: -// -# define BOOST_MATH_NO_REAL_CONCEPT_TESTS -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -# define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM) -# include -#endif -#ifdef __IBMCPP__ -// -// For reasons I don't unserstand, the tests with IMB's compiler all -// pass at long double precision, but fail with real_concept, those tests -// are disabled for now. (JM 2012). -# define BOOST_MATH_NO_REAL_CONCEPT_TESTS -#endif -#ifdef sun -// Any use of __float128 in program startup code causes a segfault (tested JM 2015, Solaris 11). -# define BOOST_MATH_DISABLE_FLOAT128 -#endif -#ifdef __HAIKU__ -// -// Not sure what's up with the math detection on Haiku, but linking fails with -// float128 code enabled, and we don't have an implementation of __expl, so -// disabling long double functions for now as well. -# define BOOST_MATH_DISABLE_FLOAT128 -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#endif -#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -// -// Darwin's rather strange "double double" is rather hard to -// support, it should be possible given enough effort though... -// -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#endif -#if defined(unix) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER <= 1000) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -// -// Intel compiler prior to version 10 has sporadic problems -// calling the long double overloads of the std lib math functions: -// calling ::powl is OK, but std::pow(long double, long double) -// may segfault depending upon the value of the arguments passed -// and the specific Linux distribution. -// -// We'll be conservative and disable long double support for this compiler. -// -// Comment out this #define and try building the tests to determine whether -// your Intel compiler version has this issue or not. -// -# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#endif -#if defined(unix) && defined(__INTEL_COMPILER) -// -// Intel compiler has sporadic issues compiling std::fpclassify depending on -// the exact OS version used. Use our own code for this as we know it works -// well on Intel processors: -// -#define BOOST_MATH_DISABLE_STD_FPCLASSIFY -#endif - -#if defined(BOOST_MSVC) && !defined(_WIN32_WCE) - // Better safe than sorry, our tests don't support hardware exceptions: -# define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM) -#endif - -#ifdef __IBMCPP__ -# define BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS -#endif - -#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)) -# define BOOST_MATH_USE_C99 -#endif - -#if (defined(__hpux) && !defined(__hppa)) -# define BOOST_MATH_USE_C99 -#endif - -#if defined(__GNUC__) && defined(_GLIBCXX_USE_C99) -# define BOOST_MATH_USE_C99 -#endif - -#if defined(_LIBCPP_VERSION) && !defined(_MSC_VER) -# define BOOST_MATH_USE_C99 -#endif - -#if defined(__CYGWIN__) || defined(__HP_aCC) || defined(BOOST_INTEL) \ - || defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) \ - || (defined(__GNUC__) && !defined(BOOST_MATH_USE_C99))\ - || defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) -# define BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY -#endif - -#if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) - -# include "boost/type.hpp" -# include "boost/non_type.hpp" - -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0 -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type* -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0 -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type* - -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \ - , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -#else - -// no workaround needed: expand to nothing - -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - - -#endif // __SUNPRO_CC - -#if (defined(__SUNPRO_CC) || defined(__hppa) || defined(__GNUC__)) && !defined(BOOST_MATH_SMALL_CONSTANT) -// Sun's compiler emits a hard error if a constant underflows, -// as does aCC on PA-RISC, while gcc issues a large number of warnings: -# define BOOST_MATH_SMALL_CONSTANT(x) 0.0 -#else -# define BOOST_MATH_SMALL_CONSTANT(x) x -#endif - - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1400) -// -// Define if constants too large for a float cause "bad" -// values to be stored in the data, rather than infinity -// or a suitably large value. -// -# define BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS -#endif -// -// Tune performance options for specific compilers: -// -#ifdef BOOST_MSVC -# define BOOST_MATH_POLY_METHOD 2 -# define BOOST_MATH_RATIONAL_METHOD 1 -#elif defined(BOOST_INTEL) -# define BOOST_MATH_POLY_METHOD 2 -# define BOOST_MATH_RATIONAL_METHOD 1 -#elif defined(__GNUC__) -#if __GNUC__ < 4 -# 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 -#else -# define BOOST_MATH_POLY_METHOD 3 -# define BOOST_MATH_RATIONAL_METHOD 1 -#endif -#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 - -// -// constexpr support, early GCC implementations can't cope so disable -// constexpr for them: -// -#if !defined(__clang__) && defined(__GNUC__) -#if (__GNUC__ * 100 + __GNUC_MINOR__) < 490 -# define BOOST_MATH_DISABLE_CONSTEXPR -#endif -#endif - -#ifdef BOOST_MATH_DISABLE_CONSTEXPR -# define BOOST_MATH_CONSTEXPR -#else -# define BOOST_MATH_CONSTEXPR BOOST_CONSTEXPR -#endif - -// -// noexcept support: -// -#ifndef BOOST_NO_CXX11_NOEXCEPT -#ifndef BOOST_NO_CXX11_HDR_TYPE_TRAITS -#include -# define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point::value) -# define BOOST_MATH_IS_FLOAT(T) (std::is_floating_point::value) -#else -#include -# define BOOST_MATH_NOEXCEPT(T) noexcept(boost::is_floating_point::value) -# define BOOST_MATH_IS_FLOAT(T) (boost::is_floating_point::value) -#endif -#else -# define BOOST_MATH_NOEXCEPT(T) -# define BOOST_MATH_IS_FLOAT(T) false -#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 20 -#endif -// -// Set the method used to evaluate polynomials and rationals: -// -#ifndef BOOST_MATH_POLY_METHOD -# define BOOST_MATH_POLY_METHOD 2 -#endif -#ifndef BOOST_MATH_RATIONAL_METHOD -# define BOOST_MATH_RATIONAL_METHOD 1 -#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 -// -// And then the actual configuration: -// -#if defined(_GLIBCXX_USE_FLOAT128) && defined(BOOST_GCC) && !defined(__STRICT_ANSI__) \ - && !defined(BOOST_MATH_DISABLE_FLOAT128) || defined(BOOST_MATH_USE_FLOAT128) -// -// Only enable this when the compiler really is GCC as clang and probably -// intel too don't support __float128 yet :-( -// -#ifndef BOOST_MATH_USE_FLOAT128 -# define BOOST_MATH_USE_FLOAT128 -#endif - -# if defined(BOOST_INTEL) && defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION >= 1310) && defined(__GNUC__) -# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) -# define BOOST_MATH_FLOAT128_TYPE __float128 -# endif -# elif defined(__GNUC__) -# define BOOST_MATH_FLOAT128_TYPE __float128 -# endif - -# ifndef BOOST_MATH_FLOAT128_TYPE -# define BOOST_MATH_FLOAT128_TYPE _Quad -# endif -#endif -// -// Check for WinCE with no iostream support: -// -#if defined(_WIN32_WCE) && !defined(__SGI_STL_PORT) -# define BOOST_MATH_NO_LEXICAL_CAST -#endif - -// -// Helper macro for controlling the FP behaviour: -// -#ifndef BOOST_MATH_CONTROL_FP -# define BOOST_MATH_CONTROL_FP -#endif -// -// Helper macro for using statements: -// -#define BOOST_MATH_STD_USING_CORE \ - using std::abs;\ - using std::acos;\ - using std::cos;\ - using std::fmod;\ - using std::modf;\ - using std::tan;\ - using std::asin;\ - using std::cosh;\ - using std::frexp;\ - using std::pow;\ - using std::tanh;\ - using std::atan;\ - using std::exp;\ - using std::ldexp;\ - using std::sin;\ - using std::atan2;\ - using std::fabs;\ - using std::log;\ - using std::sinh;\ - using std::ceil;\ - using std::floor;\ - using std::log10;\ - using std::sqrt; - -#define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE - -namespace boost{ namespace math{ -namespace tools -{ - -template -inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c) BOOST_MATH_NOEXCEPT(T) -{ - return (std::max)((std::max)(a, b), c); -} - -template -inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d) BOOST_MATH_NOEXCEPT(T) -{ - return (std::max)((std::max)(a, b), (std::max)(c, d)); -} - -} // namespace tools - -template -void suppress_unused_variable_warning(const T&) BOOST_MATH_NOEXCEPT(T) -{ -} - -namespace detail{ - -template -struct is_integer_for_rounding -{ - static const bool value = boost::is_integral::value -#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - || (std::numeric_limits::is_specialized && std::numeric_limits::is_integer) -#endif - ; -}; - -} - -}} // namespace boost namespace math - -#ifdef __GLIBC_PREREQ -# if __GLIBC_PREREQ(2,14) -# define BOOST_MATH_HAVE_FIXED_GLIBC -# endif -#endif - -#if ((defined(__linux__) && !defined(__UCLIBC__) && !defined(BOOST_MATH_HAVE_FIXED_GLIBC)) || defined(__QNX__) || defined(__IBMCPP__)) && !defined(BOOST_NO_FENV_H) -// -// This code was introduced in response to this glibc bug: http://sourceware.org/bugzilla/show_bug.cgi?id=2445 -// Basically powl and expl can return garbage when the result is small and certain exception flags are set -// on entrance to these functions. This appears to have been fixed in Glibc 2.14 (May 2011). -// Much more information in this message thread: https://groups.google.com/forum/#!topic/boost-list/ZT99wtIFlb4 -// - - #include - -# ifdef FE_ALL_EXCEPT - -namespace boost{ namespace math{ - namespace detail - { - struct fpu_guard - { - fpu_guard() - { - fegetexceptflag(&m_flags, FE_ALL_EXCEPT); - feclearexcept(FE_ALL_EXCEPT); - } - ~fpu_guard() - { - fesetexceptflag(&m_flags, FE_ALL_EXCEPT); - } - private: - fexcept_t m_flags; - }; - - } // namespace detail - }} // namespaces - -# define BOOST_FPU_EXCEPTION_GUARD boost::math::detail::fpu_guard local_guard_object; -# define BOOST_MATH_INSTRUMENT_FPU do{ fexcept_t cpu_flags; fegetexceptflag(&cpu_flags, FE_ALL_EXCEPT); BOOST_MATH_INSTRUMENT_VARIABLE(cpu_flags); } while(0); - -# else - -# define BOOST_FPU_EXCEPTION_GUARD -# define BOOST_MATH_INSTRUMENT_FPU - -# endif - -#else // All other platforms. -# define BOOST_FPU_EXCEPTION_GUARD -# define BOOST_MATH_INSTRUMENT_FPU -#endif - -#ifdef BOOST_MATH_INSTRUMENT - -# include -# include -# include - -# define BOOST_MATH_INSTRUMENT_CODE(x) \ - std::cout << std::setprecision(35) << __FILE__ << ":" << __LINE__ << " " << x << std::endl; -# define BOOST_MATH_INSTRUMENT_VARIABLE(name) BOOST_MATH_INSTRUMENT_CODE(BOOST_STRINGIZE(name) << " = " << name) - -#else - -# define BOOST_MATH_INSTRUMENT_CODE(x) -# define BOOST_MATH_INSTRUMENT_VARIABLE(name) - -#endif - -// -// Thread local storage: -// -#if !defined(BOOST_NO_CXX11_THREAD_LOCAL) && !defined(BOOST_INTEL) -# define BOOST_MATH_THREAD_LOCAL thread_local -#else -# define BOOST_MATH_THREAD_LOCAL -#endif - -// -// Can we have constexpr tables? -// -#if (!defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_CXX14_CONSTEXPR)) || BOOST_WORKAROUND(BOOST_MSVC, >= 1910) -#define BOOST_MATH_HAVE_CONSTEXPR_TABLES -#define BOOST_MATH_CONSTEXPR_TABLE_FUNCTION constexpr -#else -#define BOOST_MATH_CONSTEXPR_TABLE_FUNCTION -#endif - - -#endif // BOOST_MATH_TOOLS_CONFIG_HPP - - - - diff --git a/3rdparty/boost/boost/math/tools/promotion.hpp b/3rdparty/boost/boost/math/tools/promotion.hpp deleted file mode 100644 index 494d7f99e2..0000000000 --- a/3rdparty/boost/boost/math/tools/promotion.hpp +++ /dev/null @@ -1,182 +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 -#include // for boost::is_floating_point; -#include // for boost::is_integral -#include // for boost::is_convertible -#include // for boost::is_same -#include // for boost::remove_cv -// Boost Template meta programming: -#include // for boost::mpl::if_c. -#include // for boost::mpl::if_c. -#include // for boost::mpl::if_c. -#include // for boost::mpl::if_c. - -#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -#include -#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 - struct promote_arg - { // If T is integral type, then promote to double. - typedef typename mpl::if_, double, T>::type type; - }; - // These full specialisations reduce mpl::if_ usage and speed up - // compilation: - template <> struct promote_arg { typedef float type; }; - template <> struct promote_arg{ typedef double type; }; - template <> struct promote_arg { typedef long double type; }; - template <> struct promote_arg { typedef double type; }; - - template - 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::type T1P; // T1 perhaps promoted. - typedef typename promote_arg::type T2P; // T2 perhaps promoted. - - typedef typename mpl::if_< - typename mpl::and_, is_floating_point >::type, // both T1P and T2P are floating-point? -#ifdef BOOST_MATH_USE_FLOAT128 - typename mpl::if_< typename mpl::or_, is_same<__float128, T2P> >::type, // either long double? - __float128, -#endif - typename mpl::if_< typename mpl::or_, is_same >::type, // either long double? - long double, // then result type is long double. - typename mpl::if_< typename mpl::or_, is_same >::type, // either double? - double, // result type is double. - float // else result type is float. - >::type -#ifdef BOOST_MATH_USE_FLOAT128 - >::type -#endif - >::type, - // else one or the other is a user-defined type: - typename mpl::if_< typename mpl::and_ >, ::boost::is_convertible >, T2P, T1P>::type>::type type; - }; // promote_arg2 - // These full specialisations reduce mpl::if_ usage and speed up - // compilation: - template <> struct promote_args_2 { typedef float type; }; - template <> struct promote_args_2{ typedef double type; }; - template <> struct promote_args_2 { typedef long double type; }; - template <> struct promote_args_2 { typedef double type; }; - template <> struct promote_args_2 { typedef double type; }; - template <> struct promote_args_2 { typedef double type; }; - template <> struct promote_args_2 { typedef double type; }; - template <> struct promote_args_2 { typedef double type; }; - template <> struct promote_args_2 { typedef long double type; }; - template <> struct promote_args_2 { typedef long double type; }; - template <> struct promote_args_2 { typedef double type; }; - template <> struct promote_args_2 { typedef double type; }; - template <> struct promote_args_2 { typedef long double type; }; - template <> struct promote_args_2 { typedef long double type; }; - template <> struct promote_args_2 { typedef long double type; }; - template <> struct promote_args_2 { typedef long double type; }; - - template - struct promote_args - { - typedef typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, typename remove_cv::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::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 - struct promote_args_permissive - { - typedef typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, - typename promote_args_2< - typename remove_cv::type, typename remove_cv::type - >::type - >::type - >::type - >::type - >::type type; - }; - - } // namespace tools - } // namespace math -} // namespace boost - -#endif // BOOST_MATH_PROMOTION_HPP - diff --git a/3rdparty/boost/boost/math/tools/real_cast.hpp b/3rdparty/boost/boost/math/tools/real_cast.hpp deleted file mode 100644 index 873e60259b..0000000000 --- a/3rdparty/boost/boost/math/tools/real_cast.hpp +++ /dev/null @@ -1,31 +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 - -#include - -#ifdef _MSC_VER -#pragma once -#endif - -namespace boost{ namespace math -{ - namespace tools - { - template - inline BOOST_MATH_CONSTEXPR To real_cast(T t) BOOST_NOEXCEPT_IF(BOOST_MATH_IS_FLOAT(T) && BOOST_MATH_IS_FLOAT(To)) - { - return static_cast(t); - } - } // namespace tools -} // namespace math -} // namespace boost - -#endif // BOOST_MATH_TOOLS_REAL_CAST_HPP - - - diff --git a/3rdparty/boost/boost/math/tools/user.hpp b/3rdparty/boost/boost/math/tools/user.hpp deleted file mode 100644 index 08a7e53d9e..0000000000 --- a/3rdparty/boost/boost/math/tools/user.hpp +++ /dev/null @@ -1,105 +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 -// -// Enable use of __float128 in numeric constants: -// -// #define BOOST_MATH_USE_FLOAT128 -// -// Disable use of __float128 in numeric_constants even if the compiler looks to support it: -// -// #define BOOST_MATH_DISABLE_FLOAT128 - -#endif // BOOST_MATH_TOOLS_USER_HPP - - diff --git a/3rdparty/boost/boost/mpl/at.hpp b/3rdparty/boost/boost/mpl/at.hpp deleted file mode 100644 index aa90e59c16..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include - -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::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::type > - ::template apply< Sequence,mpl::long_ > -{ -}; - -BOOST_MPL_AUX_NA_SPEC(2, at) - -}} - -#endif // BOOST_MPL_AT_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/at_fwd.hpp b/3rdparty/boost/boost/mpl/at_fwd.hpp deleted file mode 100644 index 6aaae38351..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -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/3rdparty/boost/boost/mpl/aux_/at_impl.hpp b/3rdparty/boost/boost/mpl/aux_/at_impl.hpp deleted file mode 100644 index 923937480e..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -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::type - , N - >::type iter_; - - typedef typename deref::type type; - }; -}; - -BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, at_impl) - -}} - -#endif // BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/aux_/config/typeof.hpp b/3rdparty/boost/boost/mpl/aux_/config/typeof.hpp deleted file mode 100644 index cde6179c67..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include - -#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/3rdparty/boost/boost/mpl/aux_/contains_impl.hpp b/3rdparty/boost/boost/mpl/aux_/contains_impl.hpp deleted file mode 100644 index b80caeafed..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include - -#include - -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::type - , typename end::type - > > - { -#else - { - typedef not_< is_same< - typename find::type - , typename end::type - > > type; - - BOOST_STATIC_CONSTANT(bool, value = - (not_< is_same< - typename find::type - , typename end::type - > >::value) - ); -#endif - }; -}; - -BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl) - -}} - -#endif // BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/back_fwd.hpp b/3rdparty/boost/boost/mpl/back_fwd.hpp deleted file mode 100644 index 119722c31a..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -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/3rdparty/boost/boost/mpl/comparison.hpp b/3rdparty/boost/boost/mpl/comparison.hpp deleted file mode 100644 index 99dca9dd80..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -#endif // BOOST_MPL_COMPARISON_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/contains.hpp b/3rdparty/boost/boost/mpl/contains.hpp deleted file mode 100644 index 02c2aa4f8b..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -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::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/3rdparty/boost/boost/mpl/contains_fwd.hpp b/3rdparty/boost/boost/mpl/contains_fwd.hpp deleted file mode 100644 index c7c667285d..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -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/3rdparty/boost/boost/mpl/find.hpp b/3rdparty/boost/boost/mpl/find.hpp deleted file mode 100644 index 31a8b0eb89..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -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 > -{ - 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/3rdparty/boost/boost/mpl/greater.hpp b/3rdparty/boost/boost/mpl/greater.hpp deleted file mode 100644 index b1f0a2cf13..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME greater -#define AUX778076_OP_TOKEN > -#include - -#endif // BOOST_MPL_GREATER_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/greater_equal.hpp b/3rdparty/boost/boost/mpl/greater_equal.hpp deleted file mode 100644 index 7a06a62e8e..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME greater_equal -#define AUX778076_OP_TOKEN >= -#include - -#endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/less_equal.hpp b/3rdparty/boost/boost/mpl/less_equal.hpp deleted file mode 100644 index 3d668c2790..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME less_equal -#define AUX778076_OP_TOKEN <= -#include - -#endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/limits/vector.hpp b/3rdparty/boost/boost/mpl/limits/vector.hpp deleted file mode 100644 index 9007589168..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#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/3rdparty/boost/boost/mpl/minus.hpp b/3rdparty/boost/boost/mpl/minus.hpp deleted file mode 100644 index 9f29f74b54..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME minus -#define AUX778076_OP_TOKEN - -#include - -#endif // BOOST_MPL_MINUS_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/multiplies.hpp b/3rdparty/boost/boost/mpl/multiplies.hpp deleted file mode 100644 index 53c39d98a4..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -// 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/3rdparty/boost/boost/mpl/not_equal_to.hpp b/3rdparty/boost/boost/mpl/not_equal_to.hpp deleted file mode 100644 index 11ef3424c9..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME not_equal_to -#define AUX778076_OP_TOKEN != -#include - -#endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/pop_back_fwd.hpp b/3rdparty/boost/boost/mpl/pop_back_fwd.hpp deleted file mode 100644 index 70957046cd..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -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/3rdparty/boost/boost/mpl/remove_if.hpp b/3rdparty/boost/boost/mpl/remove_if.hpp deleted file mode 100644 index bbe6564b09..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include - -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::type - , identity - , apply2 - >::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::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::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/3rdparty/boost/boost/mpl/times.hpp b/3rdparty/boost/boost/mpl/times.hpp deleted file mode 100644 index f309557c6b..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME times -#define AUX778076_OP_TOKEN * -#include - -#endif // BOOST_MPL_TIMES_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector.hpp b/3rdparty/boost/boost/mpl/vector.hpp deleted file mode 100644 index 479983d5ce..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include - -# include -# include -# include - -#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 - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector.hpp -# include - -#else - -# include - -# define AUX778076_SEQUENCE_NAME vector -# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE -# include - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif // BOOST_MPL_VECTOR_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/O1_size.hpp b/3rdparty/boost/boost/mpl/vector/aux_/O1_size.hpp deleted file mode 100644 index ac9e3cf887..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -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 > -{ - template< typename Vector > struct apply - : mpl::long_ - { - }; -}; - -#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/3rdparty/boost/boost/mpl/vector/aux_/at.hpp b/3rdparty/boost/boost/mpl/vector/aux_/at.hpp deleted file mode 100644 index 0a7583ccf1..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -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::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 > -{ - 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::template result_ -{ -}; - -# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -}} - -#endif // BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/back.hpp b/3rdparty/boost/boost/mpl/vector/aux_/back.hpp deleted file mode 100644 index b66363ec11..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -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::type::value - > - { - }; -}; - -#else - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< long n_ > -struct back_impl< aux::vector_tag > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/begin_end.hpp b/3rdparty/boost/boost/mpl/vector/aux_/begin_end.hpp deleted file mode 100644 index aa34451566..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include - -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - -# include -# include -# include - -namespace boost { namespace mpl { - -template<> -struct begin_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - { - typedef v_iter type; - }; -}; - -template<> -struct end_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - { - typedef v_iter type; - }; -}; - -}} - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -#endif // BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/clear.hpp b/3rdparty/boost/boost/mpl/vector/aux_/clear.hpp deleted file mode 100644 index b06d8be752..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -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 > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/empty.hpp b/3rdparty/boost/boost/mpl/vector/aux_/empty.hpp deleted file mode 100644 index 5490a5f72f..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -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 > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/front.hpp b/3rdparty/boost/boost/mpl/vector/aux_/front.hpp deleted file mode 100644 index a358db52cf..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -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 - { - }; -}; - -#else - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > -struct front_impl< aux::vector_tag > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/include_preprocessed.hpp b/3rdparty/boost/boost/mpl/vector/aux_/include_preprocessed.hpp deleted file mode 100644 index a676116f60..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -#include -#include - -#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/3rdparty/boost/boost/mpl/vector/aux_/item.hpp b/3rdparty/boost/boost/mpl/vector/aux_/item.hpp deleted file mode 100644 index 71538ceb41..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -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::type upper_bound_; - typedef typename next::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 item_(index_); - using Base::item_; -}; - -template< - typename T - , typename Base - > -struct v_item - : Base -{ - typedef typename prior::type index_; - typedef index_ lower_bound_; - typedef typename next::type size; - typedef Base base; - typedef v_item type; - - static aux::type_wrapper item_(index_); - using Base::item_; -}; - -// "erasure" item -template< - typename Base - , int at_front - > -struct v_mask - : Base -{ - typedef typename prior::type index_; - typedef index_ upper_bound_; - typedef typename prior::type size; - typedef Base base; - typedef v_mask type; - - static aux::type_wrapper item_(index_); - using Base::item_; -}; - -template< - typename Base - > -struct v_mask - : Base -{ - typedef typename Base::lower_bound_ index_; - typedef typename next::type lower_bound_; - typedef typename prior::type size; - typedef Base base; - typedef v_mask type; - - static aux::type_wrapper item_(index_); - using Base::item_; -}; - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -}} - -#endif // BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/iterator.hpp b/3rdparty/boost/boost/mpl/vector/aux_/iterator.hpp deleted file mode 100644 index 32df315696..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -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::type type; - - typedef Vector vector_; - typedef mpl::long_ pos; - -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - enum { - next_ = n_ + 1 - , prior_ = n_ - 1 - , pos_ = n_ - }; - - typedef v_iter next; - typedef v_iter prior; -#endif - -}; - - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< - typename Vector - , BOOST_MPL_AUX_NTTP_DECL(long, n_) - > -struct next< v_iter > -{ - typedef v_iter type; -}; - -template< - typename Vector - , BOOST_MPL_AUX_NTTP_DECL(long, n_) - > -struct prior< v_iter > -{ - typedef v_iter type; -}; - -template< - typename Vector - , BOOST_MPL_AUX_NTTP_DECL(long, n_) - , typename Distance - > -struct advance< v_iter,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, v_iter > - : mpl::long_<(m_ - n_)> -{ -}; - -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -template<> struct advance_impl -{ - 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 -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/numbered.hpp b/3rdparty/boost/boost/mpl/vector/aux_/numbered.hpp deleted file mode 100644 index b3f03873ba..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -#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 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 begin; - typedef v_iter end; -}; - -template<> -struct push_front_impl< aux::vector_tag > -{ - 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 > -{ - 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 > -{ - 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 > -{ - 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 -{ - typedef typename V::BOOST_PP_CAT(item,i_) type; -}; - -# else - -namespace aux { -template<> struct v_at_impl -{ - template< typename V_ > struct result_ - { - typedef typename V_::BOOST_PP_CAT(item,i_) type; - }; -}; -} - -template<> -struct at_impl< aux::vector_tag > -{ - template< typename V_, typename N > struct apply - { - typedef typename aux::v_at_impl - ::template result_::type type; - }; -}; - -#if i_ > 0 -template<> -struct front_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - { - typedef typename Vector::item0 type; - }; -}; - -template<> -struct back_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - { - typedef typename Vector::back type; - }; -}; - -template<> -struct empty_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - : false_ - { - }; -}; -#endif - -template<> -struct size_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - : long_ - { - }; -}; - -template<> -struct O1_size_impl< aux::vector_tag > - : size_impl< aux::vector_tag > -{ -}; - -template<> -struct clear_impl< aux::vector_tag > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/numbered_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/numbered_c.hpp deleted file mode 100644 index 4c159f948c..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -#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) \ - /**/ - -#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 - , 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 \ - /**/ - -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/3rdparty/boost/boost/mpl/vector/aux_/pop_back.hpp b/3rdparty/boost/boost/mpl/vector/aux_/pop_back.hpp deleted file mode 100644 index 1d95e355c0..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include - -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - -# include -# include - -namespace boost { namespace mpl { - -template<> -struct pop_back_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - { - typedef v_mask type; - }; -}; - -}} - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -#endif // BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/pop_front.hpp b/3rdparty/boost/boost/mpl/vector/aux_/pop_front.hpp deleted file mode 100644 index c94b8711c4..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include - -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - -# include -# include - -namespace boost { namespace mpl { - -template<> -struct pop_front_impl< aux::vector_tag > -{ - template< typename Vector > struct apply - { - typedef v_mask type; - }; -}; - -}} - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -#endif // BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp deleted file mode 100644 index c79a1ac606..0000000000 --- a/3rdparty/boost/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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp deleted file mode 100644 index 8b36f6a3ed..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp deleted file mode 100644 index eb92a7814c..0000000000 --- a/3rdparty/boost/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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp deleted file mode 100644 index 56ca53f4ea..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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 - > -{ - typedef vector20_c type; - typedef T value_type; -}; - -}} diff --git a/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp deleted file mode 100644 index a685019b48..0000000000 --- a/3rdparty/boost/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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp deleted file mode 100644 index 6251dbc546..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp deleted file mode 100644 index 1ed648a9d0..0000000000 --- a/3rdparty/boost/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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp deleted file mode 100644 index ba0ffa88ee..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp deleted file mode 100644 index 3da323a998..0000000000 --- a/3rdparty/boost/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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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 - ::template result_::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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp deleted file mode 100644 index e07f2b3ad5..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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 - > -{ - typedef vector50_c type; - typedef T value_type; -}; - -}} diff --git a/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp deleted file mode 100644 index 88bbd3b318..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp deleted file mode 100644 index 8b36f6a3ed..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp deleted file mode 100644 index 8c6c8bbb97..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp deleted file mode 100644 index 56ca53f4ea..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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 - > -{ - typedef vector20_c type; - typedef T value_type; -}; - -}} diff --git a/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp deleted file mode 100644 index b7da8e76b6..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp deleted file mode 100644 index 6251dbc546..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp deleted file mode 100644 index 7487be4b06..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp deleted file mode 100644 index ba0ffa88ee..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp deleted file mode 100644 index 5a4c6d75df..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp deleted file mode 100644 index e07f2b3ad5..0000000000 --- a/3rdparty/boost/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 - > -{ - 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 - > -{ - 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 - > -{ - 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 - > -{ - typedef vector50_c type; - typedef T value_type; -}; - -}} diff --git a/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp deleted file mode 100644 index e4c640709a..0000000000 --- a/3rdparty/boost/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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp deleted file mode 100644 index 18eabc64da..0000000000 --- a/3rdparty/boost/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 - > -{ - 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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp deleted file mode 100644 index 78ccac4e91..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp deleted file mode 100644 index 4bf6742306..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp deleted file mode 100644 index c4049906f3..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp deleted file mode 100644 index 5741bb4b65..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp deleted file mode 100644 index debcf7027d..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp deleted file mode 100644 index 88d742e0a5..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp deleted file mode 100644 index 8db06df454..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp b/3rdparty/boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp deleted file mode 100644 index f56d6aff06..0000000000 --- a/3rdparty/boost/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/3rdparty/boost/boost/mpl/vector/aux_/push_back.hpp b/3rdparty/boost/boost/mpl/vector/aux_/push_back.hpp deleted file mode 100644 index 527828c9ba..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include - -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - -# include -# include - -namespace boost { namespace mpl { - -template<> -struct push_back_impl< aux::vector_tag > -{ - template< typename Vector, typename T > struct apply - { - typedef v_item type; - }; -}; - -}} - -#endif - -#endif // BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/push_front.hpp b/3rdparty/boost/boost/mpl/vector/aux_/push_front.hpp deleted file mode 100644 index f315de58b7..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include - -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - -# include -# include - -namespace boost { namespace mpl { - -template<> -struct push_front_impl< aux::vector_tag > -{ - template< typename Vector, typename T > struct apply - { - typedef v_item type; - }; -}; - -}} - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -#endif // BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/size.hpp b/3rdparty/boost/boost/mpl/vector/aux_/size.hpp deleted file mode 100644 index c131e8866d..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -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 > - : O1_size_impl< aux::vector_tag > -{ -}; - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES - -}} - -#endif // BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/aux_/tag.hpp b/3rdparty/boost/boost/mpl/vector/aux_/tag.hpp deleted file mode 100644 index 90d16e38c0..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include - -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/3rdparty/boost/boost/mpl/vector/aux_/vector0.hpp b/3rdparty/boost/boost/mpl/vector/aux_/vector0.hpp deleted file mode 100644 index 402667360d..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace mpl { - -template< typename Dummy = na > struct vector0; - -template<> struct vector0 -{ -#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 item_(...); -#else - typedef aux::vector_tag<0> tag; - typedef vector0 type; - typedef void_ item0; - - typedef v_iter,0> begin; - typedef v_iter,0> end; -#endif -}; - -}} - -#endif // BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector0.hpp b/3rdparty/boost/boost/mpl/vector/vector0.hpp deleted file mode 100644 index 39759ddc24..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif // BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector0_c.hpp b/3rdparty/boost/boost/mpl/vector/vector0_c.hpp deleted file mode 100644 index 0e60215ddd..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#include -#include - -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/3rdparty/boost/boost/mpl/vector/vector10.hpp b/3rdparty/boost/boost/mpl/vector/vector10.hpp deleted file mode 100644 index 53a2a163ae..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector10.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(0, 10, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector10_c.hpp b/3rdparty/boost/boost/mpl/vector/vector10_c.hpp deleted file mode 100644 index be52d2f7f3..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector10_c.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(1, 10, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector20.hpp b/3rdparty/boost/boost/mpl/vector/vector20.hpp deleted file mode 100644 index 96d1b9f45c..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector20.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(11, 20, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector20_c.hpp b/3rdparty/boost/boost/mpl/vector/vector20_c.hpp deleted file mode 100644 index 3913f26026..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector20_c.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(11, 20, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector30.hpp b/3rdparty/boost/boost/mpl/vector/vector30.hpp deleted file mode 100644 index b2f0a5eb05..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector30.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(21, 30, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector30_c.hpp b/3rdparty/boost/boost/mpl/vector/vector30_c.hpp deleted file mode 100644 index 94cdab465a..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector30_c.hpp -# include - -#else - -# include -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(21, 30, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector40.hpp b/3rdparty/boost/boost/mpl/vector/vector40.hpp deleted file mode 100644 index 2d2ef8195c..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector40.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(31, 40, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector40_c.hpp b/3rdparty/boost/boost/mpl/vector/vector40_c.hpp deleted file mode 100644 index 25e2ebf3d2..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector40_c.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(31, 40, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector50.hpp b/3rdparty/boost/boost/mpl/vector/vector50.hpp deleted file mode 100644 index dc2d5c20a4..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector50.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(41, 50, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED diff --git a/3rdparty/boost/boost/mpl/vector/vector50_c.hpp b/3rdparty/boost/boost/mpl/vector/vector50_c.hpp deleted file mode 100644 index 7388bf404b..0000000000 --- a/3rdparty/boost/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$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER vector50_c.hpp -# include - -#else - -# include -# include -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(41, 50, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED diff --git a/3rdparty/boost/boost/next_prior.hpp b/3rdparty/boost/boost/next_prior.hpp deleted file mode 100644 index 5de705f591..0000000000 --- a/3rdparty/boost/boost/next_prior.hpp +++ /dev/null @@ -1,195 +0,0 @@ -// Boost next_prior.hpp header file ---------------------------------------// - -// (C) Copyright Dave Abrahams and Daniel Walker 1999-2003. -// Copyright (c) Andrey Semashev 2017 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/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 -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { - -// Helper functions for classes like bidirectional iterators not supporting -// operator+ and operator- -// -// Usage: -// const std::list::iterator p = get_some_iterator(); -// const std::list::iterator prev = boost::prior(p); -// const std::list::iterator next = boost::next(prev, 2); - -// Contributed by Dave Abrahams - -namespace next_prior_detail { - -// The trait attempts to detect if the T type is an iterator. Class-type iterators are assumed -// to have the nested type iterator_category. Strictly speaking, this is not required to be the -// case (e.g. a user can specialize iterator_traits for T without defining T::iterator_category). -// Still, this is a good heuristic in practice, and we can't do anything better anyway. -// Since C++17 we can test for iterator_traits::iterator_category presence instead as it is -// required to be only present for iterators. -template< typename T, typename Void = void > -struct is_iterator_class -{ - static BOOST_CONSTEXPR_OR_CONST bool value = false; -}; - -template< typename T > -struct is_iterator_class< - T, - typename enable_if_has_type< -#if !defined(BOOST_NO_CXX17_ITERATOR_TRAITS) - typename std::iterator_traits< T >::iterator_category -#else - typename T::iterator_category -#endif - >::type -> -{ - static BOOST_CONSTEXPR_OR_CONST bool value = true; -}; - -template< typename T > -struct is_iterator : - public is_iterator_class< T > -{ -}; - -template< typename T > -struct is_iterator< T* > -{ - static BOOST_CONSTEXPR_OR_CONST bool value = true; -}; - - -template< typename T, typename Distance, bool HasPlus = has_plus< T, Distance >::value > -struct next_plus_impl; - -template< typename T, typename Distance > -struct next_plus_impl< T, Distance, true > -{ - static T call(T x, Distance n) - { - return x + n; - } -}; - -template< typename T, typename Distance, bool HasPlusAssign = has_plus_assign< T, Distance >::value > -struct next_plus_assign_impl : - public next_plus_impl< T, Distance > -{ -}; - -template< typename T, typename Distance > -struct next_plus_assign_impl< T, Distance, true > -{ - static T call(T x, Distance n) - { - x += n; - return x; - } -}; - -template< typename T, typename Distance, bool IsIterator = is_iterator< T >::value > -struct next_advance_impl : - public next_plus_assign_impl< T, Distance > -{ -}; - -template< typename T, typename Distance > -struct next_advance_impl< T, Distance, true > -{ - static T call(T x, Distance n) - { - boost::iterators::advance(x, n); - return x; - } -}; - - -template< typename T, typename Distance, bool HasMinus = has_minus< T, Distance >::value > -struct prior_minus_impl; - -template< typename T, typename Distance > -struct prior_minus_impl< T, Distance, true > -{ - static T call(T x, Distance n) - { - return x - n; - } -}; - -template< typename T, typename Distance, bool HasMinusAssign = has_minus_assign< T, Distance >::value > -struct prior_minus_assign_impl : - public prior_minus_impl< T, Distance > -{ -}; - -template< typename T, typename Distance > -struct prior_minus_assign_impl< T, Distance, true > -{ - static T call(T x, Distance n) - { - x -= n; - return x; - } -}; - -template< typename T, typename Distance, bool IsIterator = is_iterator< T >::value > -struct prior_advance_impl : - public prior_minus_assign_impl< T, Distance > -{ -}; - -template< typename T, typename Distance > -struct prior_advance_impl< T, Distance, true > -{ - static T call(T x, Distance n) - { - // Avoid negating n to sidestep possible integer overflow - boost::iterators::reverse_iterator< T > rx(x); - boost::iterators::advance(rx, n); - return rx.base(); - } -}; - -} // namespace next_prior_detail - -template -inline T next(T x) { return ++x; } - -template -inline T next(T x, Distance n) -{ - return next_prior_detail::next_advance_impl< T, Distance >::call(x, n); -} - -template -inline T prior(T x) { return --x; } - -template -inline T prior(T x, Distance n) -{ - return next_prior_detail::prior_advance_impl< T, Distance >::call(x, n); -} - -} // namespace boost - -#endif // BOOST_NEXT_PRIOR_HPP_INCLUDED diff --git a/3rdparty/boost/boost/non_type.hpp b/3rdparty/boost/boost/non_type.hpp deleted file mode 100644 index 896aed4d34..0000000000 --- a/3rdparty/boost/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 - struct non_type { }; - - -} - - -#endif // include guard diff --git a/3rdparty/boost/boost/numeric/conversion/bounds.hpp b/3rdparty/boost/boost/numeric/conversion/bounds.hpp deleted file mode 100644 index e4c7c7deee..0000000000 --- a/3rdparty/boost/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@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 -struct bounds : boundsdetail::get_impl::type -{} ; - -} } // namespace boost::numeric - -#endif diff --git a/3rdparty/boost/boost/numeric/conversion/cast.hpp b/3rdparty/boost/boost/numeric/conversion/cast.hpp deleted file mode 100644 index 61286c1311..0000000000 --- a/3rdparty/boost/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@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 - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) - -# include - -#else - -#include -#include -#include - -namespace boost -{ - template - inline Target numeric_cast( Source arg ) - { - typedef numeric::conversion_traits conv_traits; - typedef numeric::numeric_cast_traits 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/3rdparty/boost/boost/numeric/conversion/conversion_traits.hpp b/3rdparty/boost/boost/numeric/conversion/conversion_traits.hpp deleted file mode 100644 index 23e0eb8c9a..0000000000 --- a/3rdparty/boost/boost/numeric/conversion/conversion_traits.hpp +++ /dev/null @@ -1,32 +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@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 -struct conversion_traits - : convdetail::get_conversion_traits::type -{ -} ; - -} } // namespace boost::numeric - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/3rdparty/boost/boost/numeric/conversion/converter.hpp b/3rdparty/boost/boost/numeric/conversion/converter.hpp deleted file mode 100644 index 331caddea5..0000000000 --- a/3rdparty/boost/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@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 OverflowHandler = def_overflow_handler, - class Float2IntRounder = Trunc< BOOST_DEDUCED_TYPENAME Traits::source_type> , - class RawConverter = raw_converter, - class UserRangeChecker = UseInternalRangeChecker - > -struct converter : convdetail::get_converter_impl::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 UserRangeChecker = UseInternalRangeChecker - > -struct make_converter_from -{ - template, - class RawConverter = raw_converter - > - struct to - { - typedef converter type ; - } ; - -} ; - -} } // namespace boost::numeric - -#endif - - diff --git a/3rdparty/boost/boost/numeric/conversion/converter_policies.hpp b/3rdparty/boost/boost/numeric/conversion/converter_policies.hpp deleted file mode 100644 index 1619d64df6..0000000000 --- a/3rdparty/boost/boost/numeric/conversion/converter_policies.hpp +++ /dev/null @@ -1,195 +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@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP - -#include // for std::bad_cast - -#include -#include // for std::floor and std::ceil -#include - -#include - -#include "boost/type_traits/is_arithmetic.hpp" - -#include "boost/mpl/if.hpp" -#include "boost/mpl/integral_c.hpp" - -namespace boost { namespace numeric -{ - -template -struct Trunc -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,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(0) ? ceil(s) : floor(s) ; - } - - typedef mpl::integral_c< std::float_round_style, std::round_toward_zero> round_style ; -} ; - - - -template -struct Floor -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,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 -struct Ceil -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,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 -struct RoundEven -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,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 BOOST_NOEXCEPT_OR_NOTHROW - { return "bad numeric conversion: overflow"; } -}; - -class negative_overflow : public bad_numeric_cast -{ - public: - - virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW - { return "bad numeric conversion: negative overflow"; } -}; -class positive_overflow : public bad_numeric_cast -{ - public: - - virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW - { 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 -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(s) ; } -} ; - -struct UseInternalRangeChecker {} ; - -} } // namespace boost::numeric - -#endif diff --git a/3rdparty/boost/boost/numeric/conversion/detail/bounds.hpp b/3rdparty/boost/boost/numeric/conversion/detail/bounds.hpp deleted file mode 100644 index 67342b8e57..0000000000 --- a/3rdparty/boost/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@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 Integral - { - typedef std::numeric_limits 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(1); } - } ; - - template - class Float - { - typedef std::numeric_limits limits ; - - public : - - static N lowest () { return static_cast(-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 - struct get_impl - { - typedef mpl::bool_< ::std::numeric_limits::is_integer > is_int ; - - typedef Integral impl_int ; - typedef Float impl_float ; - - typedef typename mpl::if_::type type ; - } ; - -} } } // namespace boost::numeric::boundsdetail. - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/3rdparty/boost/boost/numeric/conversion/detail/conversion_traits.hpp b/3rdparty/boost/boost/numeric/conversion/detail/conversion_traits.hpp deleted file mode 100644 index ed25349c67..0000000000 --- a/3rdparty/boost/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@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 - struct non_trivial_traits_impl - { - typedef typename get_int_float_mixture ::type int_float_mixture ; - typedef typename get_sign_mixture ::type sign_mixture ; - typedef typename get_udt_builtin_mixture ::type udt_builtin_mixture ; - - typedef typename get_is_subranged::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 const&>::type argument_type ; - - typedef typename mpl::if_::type supertype ; - typedef typename mpl::if_::type subtype ; - } ; - - //------------------------------------------------------------------- - // Implementation of the Conversion Traits for T == S - // - // This is a VISIBLE base class of the user-level conversion_traits<> class. - //------------------------------------------------------------------- - template - struct trivial_traits_impl - { - typedef typename get_int_float_mixture ::type int_float_mixture ; - typedef typename get_sign_mixture ::type sign_mixture ; - typedef typename get_udt_builtin_mixture::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 - struct get_conversion_traits - { - typedef typename remove_cv::type target_type ; - typedef typename remove_cv::type source_type ; - - typedef typename is_same::type is_trivial ; - - typedef trivial_traits_impl trivial_imp ; - typedef non_trivial_traits_impl non_trivial_imp ; - - typedef typename mpl::if_::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/3rdparty/boost/boost/numeric/conversion/detail/converter.hpp b/3rdparty/boost/boost/numeric/conversion/detail/converter.hpp deleted file mode 100644 index f7bf7b4436..0000000000 --- a/3rdparty/boost/boost/numeric/conversion/detail/converter.hpp +++ /dev/null @@ -1,593 +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@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP - -#include - -#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 round2zero_c ; - typedef mpl::integral_c round2nearest_c ; - typedef mpl::integral_c round2inf_c ; - typedef mpl::integral_c round2neg_inf_c ; - - // Metafunction: - // - // for_round_style::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 - struct for_round_style - { - typedef ct_switch4 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 - 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(bounds::lowest()) ? cNegOverflow : cInRange ; - } - } ; - - // s < 0 ? cNegOverflow : cInRange - // - template - 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(0) ? cNegOverflow : cInRange ; - } - } ; - - // s <= Lowest(T)-1 ? cNegOverflow : cInRange - // - template - 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(bounds::lowest()) - static_cast(1.0) - ? cNegOverflow : cInRange ; - } - } ; - - // s < Lowest(T)-0.5 ? cNegOverflow : cInRange - // - template - 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(bounds::lowest()) - static_cast(0.5) - ? cNegOverflow : cInRange ; - } - } ; - - // s > Highest(T) ? cPosOverflow : cInRange - // - template - 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(bounds::highest()) - ? cPosOverflow : cInRange ; - } - } ; - - // s >= Lowest(T) + 1 ? cPosOverflow : cInRange - // - template - 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(bounds::highest()) + static_cast(1.0) - ? cPosOverflow : cInRange ; - } - } ; - - // s >= Lowest(T) + 0.5 ? cPosgOverflow : cInRange - // - template - 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(bounds::highest()) + static_cast(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 - 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 - struct combine - { - typedef applyBoth 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::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 - 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 - 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::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 - struct GetRC_Sig2Sig_or_Unsig2Unsig - { - typedef dummy_range_checker Dummy ; - - typedef LT_LoT Pred1 ; - typedef GT_HiT Pred2 ; - - typedef generic_range_checker Normal ; - - typedef typename Traits::subranged subranged ; - - typedef typename mpl::if_::type type ; - } ; - - template - struct GetRC_Sig2Unsig - { - typedef LT_Zero Pred1 ; - typedef GT_HiT Pred2 ; - - typedef generic_range_checker ChoiceA ; - - typedef generic_range_checker ChoiceB ; - - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - - typedef typename subranged_Unsig2Sig::type oposite_subranged ; - - typedef typename mpl::not_::type positively_subranged ; - - typedef typename mpl::if_::type type ; - } ; - - template - struct GetRC_Unsig2Sig - { - typedef GT_HiT Pred1 ; - - typedef generic_range_checker type ; - } ; - - template - struct GetRC_Int2Int - { - typedef GetRC_Sig2Sig_or_Unsig2Unsig Sig2SigQ ; - typedef GetRC_Sig2Unsig Sig2UnsigQ ; - typedef GetRC_Unsig2Sig Unsig2SigQ ; - typedef Sig2SigQ Unsig2UnsigQ ; - - typedef typename Traits::sign_mixture sign_mixture ; - - typedef typename - for_sign_mixture::type - selector ; - - typedef typename selector::type type ; - } ; - - template - struct GetRC_Int2Float - { - typedef dummy_range_checker type ; - } ; - - template - struct GetRC_Float2Int - { - typedef LE_PrevLoT Pred1 ; - typedef GE_SuccHiT Pred2 ; - typedef LT_HalfPrevLoT Pred3 ; - typedef GT_HalfSuccHiT Pred4 ; - typedef GT_HiT Pred5 ; - typedef LT_LoT Pred6 ; - - typedef generic_range_checker ToZero ; - typedef generic_range_checker ToNearest ; - typedef generic_range_checker ToInf ; - typedef generic_range_checker ToNegInf ; - - typedef typename Float2IntRounder::round_style round_style ; - - typedef typename for_round_style::type type ; - } ; - - template - struct GetRC_Float2Float - { - typedef dummy_range_checker Dummy ; - - typedef LT_LoT Pred1 ; - typedef GT_HiT Pred2 ; - - typedef generic_range_checker Normal ; - - typedef typename Traits::subranged subranged ; - - typedef typename mpl::if_::type type ; - } ; - - template - struct GetRC_BuiltIn2BuiltIn - { - typedef GetRC_Int2Int Int2IntQ ; - typedef GetRC_Int2Float Int2FloatQ ; - typedef GetRC_Float2Int Float2IntQ ; - typedef GetRC_Float2Float Float2FloatQ ; - - typedef typename Traits::int_float_mixture int_float_mixture ; - - typedef typename for_int_float_mixture::type selector ; - - typedef typename selector::type type ; - } ; - - template - struct GetRC - { - typedef GetRC_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; - - typedef dummy_range_checker Dummy ; - - typedef mpl::identity DummyQ ; - - typedef typename Traits::udt_builtin_mixture udt_builtin_mixture ; - - typedef typename for_udt_builtin_mixture::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 - struct trivial_converter_impl : public dummy_range_checker - { - 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 - struct rounding_converter : 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 - struct non_rounding_converter : 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 - struct get_non_trivial_converter - { - typedef GetRC InternalRangeCheckerQ ; - - typedef is_same use_internal_RC ; - - typedef mpl::identity UserRangeCheckerQ ; - - typedef typename - mpl::eval_if::type - RangeChecker ; - - typedef non_rounding_converter NonRounding ; - typedef rounding_converter Rounding ; - - typedef mpl::identity NonRoundingQ ; - typedef mpl::identity RoundingQ ; - - typedef typename Traits::int_float_mixture int_float_mixture ; - - typedef typename - for_int_float_mixture::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 Trivial ; - typedef mpl::identity TrivialQ ; - - typedef get_non_trivial_converter< Traits - ,OverflowHandler - ,Float2IntRounder - ,RawConverter - ,UserRangeChecker - > NonTrivialQ ; - - typedef typename Traits::trivial trivial ; - - typedef typename mpl::eval_if::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/3rdparty/boost/boost/numeric/conversion/detail/int_float_mixture.hpp b/3rdparty/boost/boost/numeric/conversion/detail/int_float_mixture.hpp deleted file mode 100644 index 464e52753f..0000000000 --- a/3rdparty/boost/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@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 int2int_c ; - typedef mpl::integral_c int2float_c ; - typedef mpl::integral_c float2int_c ; - typedef mpl::integral_c float2float_c ; - - // Metafunction: - // - // get_int_float_mixture::type - // - // Selects the appropriate Int-Float Mixture Integral Constant for the combination T,S. - // - template - struct get_int_float_mixture - { - typedef mpl::bool_< ::std::numeric_limits::is_integer > S_int ; - typedef mpl::bool_< ::std::numeric_limits::is_integer > T_int ; - - typedef typename - for_both::type - type ; - } ; - - // Metafunction: - // - // for_int_float_mixture::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 - struct for_int_float_mixture - { - typedef typename - ct_switch4::type - type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/3rdparty/boost/boost/numeric/conversion/detail/is_subranged.hpp b/3rdparty/boost/boost/numeric/conversion/detail/is_subranged.hpp deleted file mode 100644 index b5e7fe8f1e..0000000000 --- a/3rdparty/boost/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@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 - 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 - struct subranged_Unsig2Sig - { - // IMPORTANT NOTE: - // - // This code assumes that signed/unsigned integral values are represented - // such that: - // - // numeric_limits::digits + 1 == numeric_limits::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::digits+1) < (2*numeric_limits::digits) ) - // then the conversion is subranged. - // - - typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; - typedef mpl::int_< ::std::numeric_limits::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::type S_digits_times_2 ; - - typedef typename mpl::less::type type ; - } ; - - // for integral to integral conversions of the same sign. - template - struct subranged_SameSign - { - // An integral conversion of the same sign is subranged if digits(T) < digits(S). - - typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; - typedef mpl::int_< ::std::numeric_limits::digits > T_digits ; - - typedef typename mpl::less::type type ; - } ; - - // for integral to float conversions - template - struct subranged_Int2Float - { - typedef mpl::false_ type ; - } ; - - // for float to integral conversions - template - struct subranged_Float2Int - { - typedef mpl::true_ type ; - } ; - - // for float to float conversions - template - 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::digits > S_mantisa ; - typedef mpl::int_< ::std::numeric_limits::digits > T_mantisa ; - - typedef mpl::int_< ::std::numeric_limits::max_exponent > S_exponent ; - typedef mpl::int_< ::std::numeric_limits::max_exponent > T_exponent ; - - typedef typename mpl::less::type T_smaller_exponent ; - - typedef typename mpl::equal_to::type equal_exponents ; - - typedef mpl::less T_smaller_mantisa ; - - typedef mpl::eval_if not_bigger_exponent_case ; - - typedef typename - mpl::eval_if::type - type ; - } ; - - // for Udt to built-in conversions - template - struct subranged_Udt2BuiltIn - { - typedef mpl::true_ type ; - } ; - - // for built-in to Udt conversions - template - struct subranged_BuiltIn2Udt - { - typedef mpl::false_ type ; - } ; - - // for Udt to Udt conversions - template - struct subranged_Udt2Udt - { - typedef mpl::false_ type ; - } ; - - //------------------------------------------------------------------- - // Selectors for the implementations of the subranged predicate - //------------------------------------------------------------------- - - template - struct get_subranged_Int2Int - { - typedef subranged_SameSign Sig2Sig ; - typedef subranged_Sig2Unsig Sig2Unsig ; - typedef subranged_Unsig2Sig Unsig2Sig ; - typedef Sig2Sig Unsig2Unsig ; - - typedef typename get_sign_mixture::type sign_mixture ; - - typedef typename - for_sign_mixture::type - type ; - } ; - - template - struct get_subranged_BuiltIn2BuiltIn - { - typedef get_subranged_Int2Int Int2IntQ ; - - typedef subranged_Int2Float Int2Float ; - typedef subranged_Float2Int Float2Int ; - typedef subranged_Float2Float Float2Float ; - - typedef mpl::identity Int2FloatQ ; - typedef mpl::identity Float2IntQ ; - typedef mpl::identity Float2FloatQ ; - - typedef typename get_int_float_mixture::type int_float_mixture ; - - typedef for_int_float_mixture for_ ; - - typedef typename for_::type selected ; - - typedef typename selected::type type ; - } ; - - template - struct get_subranged - { - typedef get_subranged_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; - - typedef subranged_BuiltIn2Udt BuiltIn2Udt ; - typedef subranged_Udt2BuiltIn Udt2BuiltIn ; - typedef subranged_Udt2Udt Udt2Udt ; - - typedef mpl::identity BuiltIn2UdtQ ; - typedef mpl::identity Udt2BuiltInQ ; - typedef mpl::identity Udt2UdtQ ; - - typedef typename get_udt_builtin_mixture::type udt_builtin_mixture ; - - typedef typename - for_udt_builtin_mixture::type - selected ; - - typedef typename selected::type selected2 ; - - typedef typename selected2::type type ; - } ; - - - //------------------------------------------------------------------- - // Top level implementation selector. - //------------------------------------------------------------------- - template - struct get_is_subranged - { - typedef get_subranged non_trivial_case ; - typedef mpl::identity trivial_case ; - - typedef is_same is_trivial ; - - typedef typename mpl::if_::type selected ; - - typedef typename selected::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/3rdparty/boost/boost/numeric/conversion/detail/meta.hpp b/3rdparty/boost/boost/numeric/conversion/detail/meta.hpp deleted file mode 100644 index 246a1b4702..0000000000 --- a/3rdparty/boost/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@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_ 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::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 - struct ct_switch4 - { - typedef mpl::identity Case0TypeQ ; - typedef mpl::identity Case1TypeQ ; - - typedef equal_to is_case0 ; - typedef equal_to is_case1 ; - typedef equal_to is_case2 ; - - typedef mpl::if_ choose_2_3Q ; - typedef mpl::eval_if choose_1_2_3Q ; - - typedef typename - mpl::eval_if::type - type ; - } ; - - - - - // Metafunction: - // - // for_both::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 - struct for_both - { - typedef mpl::identity TF_Q ; - typedef mpl::identity TT_Q ; - - typedef typename mpl::not_::type not_expr0 ; - typedef typename mpl::not_::type not_expr1 ; - - typedef typename mpl::and_::type caseTT ; - typedef typename mpl::and_::type caseTF ; - typedef typename mpl::and_::type caseFT ; - - typedef mpl::if_ choose_FT_FF_Q ; - typedef mpl::eval_if choose_TF_FT_FF_Q ; - - typedef typename mpl::eval_if::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/3rdparty/boost/boost/numeric/conversion/detail/numeric_cast_traits.hpp b/3rdparty/boost/boost/numeric/conversion/detail/numeric_cast_traits.hpp deleted file mode 100644 index 150490d935..0000000000 --- a/3rdparty/boost/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 - - #if !defined(BOOST_NO_LONG_LONG) - #include - #endif - -#else -#if !BOOST_PP_IS_ITERATING - - #include - #include - #include - - #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())), )) - #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())), )) - #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())), )) - #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 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/3rdparty/boost/boost/numeric/conversion/detail/old_numeric_cast.hpp b/3rdparty/boost/boost/numeric/conversion/detail/old_numeric_cast.hpp deleted file mode 100644 index 9901ed2ae3..0000000000 --- a/3rdparty/boost/boost/numeric/conversion/detail/old_numeric_cast.hpp +++ /dev/null @@ -1,308 +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 -// 02 Jun 14 Remove VC6 workarounds. -// 16 Jul 11 Bugfixes for VC6. -// 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 -// 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 -# include -# include -# include -# include -# include - -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 - struct signed_numeric_limits : std::numeric_limits - { - static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION () - { - return (std::numeric_limits::min)() >= 0 - // unary minus causes integral promotion, thus the static_cast<> - ? static_cast(-(std::numeric_limits::max)()) - : (std::numeric_limits::min)(); - }; - }; - - // Move to namespace boost in utility.hpp? - template - struct fixed_numeric_limits_base - : public if_true< std::numeric_limits::is_signed > - ::BOOST_NESTED_TEMPLATE then< signed_numeric_limits, - std::numeric_limits - >::type - {}; - - template - struct fixed_numeric_limits - : fixed_numeric_limits_base::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::is_signed - // y_is_signed should be numeric_limits::is_signed - // y_min should be numeric_limits::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 - struct less_than_type_min - { - template - static bool check(X x, Y y_min) - { return x < y_min; } - }; - - template <> - struct less_than_type_min - { - template - static bool check(X, Y) - { return false; } - }; - - template <> - struct less_than_type_min - { - template - static bool check(X x, Y) - { return x < 0; } - }; - - // greater_than_type_max - - // same_sign should be: - // numeric_limits::is_signed == numeric_limits::is_signed - // y_max should be numeric_limits::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 - struct greater_than_type_max; - - template<> - struct greater_than_type_max - { - template - static inline bool check(X x, Y y_max) - { return x > y_max; } - }; - - template <> - struct greater_than_type_max - { - // What does the standard say about this? I think it's right, and it - // will work with every compiler I know of. - template - static inline bool check(X x, Y) - { return x >= 0 && static_cast(static_cast(x)) != x; } - }; - - template<> - struct greater_than_type_max - { - template - static inline bool check(X x, Y y_max) - { return x > y_max; } - }; - - template <> - struct greater_than_type_max - { - // What does the standard say about this? I think it's right, and it - // will work with every compiler I know of. - template - static inline bool check(X x, Y) - { return static_cast(static_cast(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 - struct fixed_numeric_limits : public std::numeric_limits - { - static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION () - { - return std::numeric_limits::is_signed && (std::numeric_limits::min)() >= 0 - ? T(-(std::numeric_limits::max)()) : (std::numeric_limits::min)(); - } - }; - -# if BOOST_MSVC -# pragma warning(pop) -#elif defined(__BORLANDC__) -# pragma option pop -# endif - } // namespace detail - -#endif - - template - inline Target numeric_cast(Source arg) - { - // typedefs abbreviating respective trait classes - typedef detail::fixed_numeric_limits arg_traits; - typedef detail::fixed_numeric_limits 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::check(arg, (result_traits::min)()) - || greater_than_type_max::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(arg); - } // numeric_cast - -} // namespace boost - -#endif // BOOST_OLD_NUMERIC_CAST_HPP diff --git a/3rdparty/boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp b/3rdparty/boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp deleted file mode 100644 index 01dc9321b3..0000000000 --- a/3rdparty/boost/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 rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; -}} diff --git a/3rdparty/boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp b/3rdparty/boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp deleted file mode 100644 index b358b9c41f..0000000000 --- a/3rdparty/boost/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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 rounding_policy; - }; -}} diff --git a/3rdparty/boost/boost/numeric/conversion/detail/sign_mixture.hpp b/3rdparty/boost/boost/numeric/conversion/detail/sign_mixture.hpp deleted file mode 100644 index c7f9e42afe..0000000000 --- a/3rdparty/boost/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@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 unsig2unsig_c ; - typedef mpl::integral_c sig2sig_c ; - typedef mpl::integral_c sig2unsig_c ; - typedef mpl::integral_c unsig2sig_c ; - - // Metafunction: - // - // get_sign_mixture::type - // - // Selects the appropriate SignMixture Integral Constant for the combination T,S. - // - template - struct get_sign_mixture - { - typedef mpl::bool_< ::std::numeric_limits::is_signed > S_signed ; - typedef mpl::bool_< ::std::numeric_limits::is_signed > T_signed ; - - typedef typename - for_both::type - type ; - } ; - - // Metafunction: - // - // for_sign_mixture::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 - struct for_sign_mixture - { - typedef typename - ct_switch4::type - type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/3rdparty/boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp b/3rdparty/boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp deleted file mode 100644 index 36dbc491b5..0000000000 --- a/3rdparty/boost/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@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 builtin2builtin_c ; - typedef mpl::integral_c builtin2udt_c ; - typedef mpl::integral_c udt2builtin_c ; - typedef mpl::integral_c udt2udt_c ; - - // Metafunction: - // - // for_udt_mixture::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 - struct for_udt_builtin_mixture - { - typedef typename - ct_switch4::type - type ; - } ; - - // Metafunction: - // - // get_udt_mixture::type - // - // Selects the appropriate UdtMixture Integral Constant for the combination T,S. - // - template - struct get_udt_builtin_mixture - { - typedef is_arithmetic S_builtin ; - typedef is_arithmetic T_builtin ; - - typedef typename - for_both::type - type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/3rdparty/boost/boost/numeric/conversion/int_float_mixture_enum.hpp b/3rdparty/boost/boost/numeric/conversion/int_float_mixture_enum.hpp deleted file mode 100644 index d0c2daacfc..0000000000 --- a/3rdparty/boost/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@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/3rdparty/boost/boost/numeric/conversion/numeric_cast_traits.hpp b/3rdparty/boost/boost/numeric/conversion/numeric_cast_traits.hpp deleted file mode 100644 index e24296bc7e..0000000000 --- a/3rdparty/boost/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 - -namespace boost { namespace numeric { - - template - struct numeric_cast_traits - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - -}}//namespace boost::numeric; - -#if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS ) -#include -#include -#endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS - -#endif//BOOST_NUMERIC_CAST_TRAITS_HPP diff --git a/3rdparty/boost/boost/numeric/conversion/sign_mixture_enum.hpp b/3rdparty/boost/boost/numeric/conversion/sign_mixture_enum.hpp deleted file mode 100644 index 1525f8d33c..0000000000 --- a/3rdparty/boost/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@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/3rdparty/boost/boost/numeric/conversion/udt_builtin_mixture_enum.hpp b/3rdparty/boost/boost/numeric/conversion/udt_builtin_mixture_enum.hpp deleted file mode 100644 index 2540e80630..0000000000 --- a/3rdparty/boost/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@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/3rdparty/boost/boost/preprocessor/control/deduce_d.hpp b/3rdparty/boost/boost/preprocessor/control/deduce_d.hpp deleted file mode 100644 index a0276b0f19..0000000000 --- a/3rdparty/boost/boost/preprocessor/control/deduce_d.hpp +++ /dev/null @@ -1,22 +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_DEDUCE_D_HPP -# define BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP -# -# include -# include -# -# /* BOOST_PP_DEDUCE_D */ -# -# define BOOST_PP_DEDUCE_D() BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256) -# -# endif diff --git a/3rdparty/boost/boost/preprocessor/seq/cat.hpp b/3rdparty/boost/boost/preprocessor/seq/cat.hpp deleted file mode 100644 index b6b09ff32a..0000000000 --- a/3rdparty/boost/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 -# include -# include -# include -# include -# include -# include -# -# /* 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/3rdparty/boost/boost/preprocessor/seq/enum.hpp b/3rdparty/boost/boost/preprocessor/seq/enum.hpp deleted file mode 100644 index b63b2425bd..0000000000 --- a/3rdparty/boost/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 -# include -# include -# -# /* 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/3rdparty/boost/boost/preprocessor/seq/for_each_i.hpp b/3rdparty/boost/boost/preprocessor/seq/for_each_i.hpp deleted file mode 100644 index d29d4c1a2d..0000000000 --- a/3rdparty/boost/boost/preprocessor/seq/for_each_i.hpp +++ /dev/null @@ -1,109 +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 -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# -# /* 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_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq) -# 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_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq) -# endif -# -# define BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC(macro, data, seq) BOOST_PP_FOR((macro, data, seq, 0, BOOST_PP_SEQ_SIZE(seq)), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M) -# define BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EMPTY(macro, data, seq) -# -# define BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \ - BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \ - BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EMPTY \ - ) \ - (macro, data, seq) \ -/**/ -# -# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_TUPLE_ELEM(5, 4, 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(5, 0, x), BOOST_PP_TUPLE_ELEM(5, 1, x), BOOST_PP_TUPLE_ELEM(5, 2, x), BOOST_PP_TUPLE_ELEM(5, 3, x), BOOST_PP_TUPLE_ELEM(5, 4, x)) -# endif -# -# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i, sz) \ - BOOST_PP_SEQ_FOR_EACH_I_O_I_DEC(macro, data, seq, i, BOOST_PP_DEC(sz)) \ -/**/ -# define BOOST_PP_SEQ_FOR_EACH_I_O_I_DEC(macro, data, seq, i, sz) \ - ( \ - macro, \ - data, \ - BOOST_PP_IF \ - ( \ - sz, \ - BOOST_PP_SEQ_FOR_EACH_I_O_I_TAIL, \ - BOOST_PP_SEQ_FOR_EACH_I_O_I_NIL \ - ) \ - (seq), \ - BOOST_PP_INC(i), \ - sz \ - ) \ -/**/ -# define BOOST_PP_SEQ_FOR_EACH_I_O_I_TAIL(seq) BOOST_PP_SEQ_TAIL(seq) -# define BOOST_PP_SEQ_FOR_EACH_I_O_I_NIL(seq) BOOST_PP_NIL -# -# 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_5 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(5, 0, x), BOOST_PP_TUPLE_ELEM(5, 1, x), BOOST_PP_TUPLE_ELEM(5, 2, x), BOOST_PP_TUPLE_ELEM(5, 3, x), BOOST_PP_TUPLE_ELEM(5, 4, x)) -# endif -# -# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i, sz) 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_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq) -# 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_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq) -# endif -# -# define BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EXEC(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq, 0, BOOST_PP_SEQ_SIZE(seq)), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M) -# define BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EMPTY(r, macro, data, seq) -# -# define BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \ - BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EXEC, \ - BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EMPTY \ - ) \ - (r, macro, data, seq) \ -/**/ -# -# endif diff --git a/3rdparty/boost/boost/preprocessor/seq/transform.hpp b/3rdparty/boost/boost/preprocessor/seq/transform.hpp deleted file mode 100644 index 79d8108d36..0000000000 --- a/3rdparty/boost/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 -# include -# include -# include -# include -# -# /* 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/3rdparty/boost/boost/range/algorithm/equal.hpp b/3rdparty/boost/boost/range/algorithm/equal.hpp deleted file mode 100644 index 2b44f3bca3..0000000000 --- a/3rdparty/boost/boost/range/algorithm/equal.hpp +++ /dev/null @@ -1,200 +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 -#include -#include - -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 ) - { - for (;;) - { - // 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 ) - { - for (;;) - { - // 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, - std::random_access_iterator_tag, - std::random_access_iterator_tag ) - { - 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 )); - BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept )); - - 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 )); - BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept )); - - 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/3rdparty/boost/boost/range/begin.hpp b/3rdparty/boost/boost/range/begin.hpp deleted file mode 100644 index 4f53d4688c..0000000000 --- a/3rdparty/boost/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) -# pragma once -#endif - -#include - -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -#include -#else - -#include -#include -#include - -namespace boost -{ - -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -namespace range_detail -{ -#endif - - ////////////////////////////////////////////////////////////////////// - // primary template - ////////////////////////////////////////////////////////////////////// - - template< typename C > - BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::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 > - BOOST_CONSTEXPR inline Iterator range_begin( const std::pair& p ) - { - return p.first; - } - - template< typename Iterator > - BOOST_CONSTEXPR inline Iterator range_begin( std::pair& p ) - { - return p.first; - } - - ////////////////////////////////////////////////////////////////////// - // array - ////////////////////////////////////////////////////////////////////// - - // - // May this be discarded? Or is it needed for bad compilers? - // - template< typename T, std::size_t sz > - BOOST_CONSTEXPR inline const T* range_begin( const T (&a)[sz] ) BOOST_NOEXCEPT - { - return a; - } - - template< typename T, std::size_t sz > - BOOST_CONSTEXPR inline T* range_begin( T (&a)[sz] ) BOOST_NOEXCEPT - { - return a; - } - - -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -} // 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 > -#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) -BOOST_CONSTEXPR -#endif -inline BOOST_DEDUCED_TYPENAME range_iterator::type begin( T& r ) -{ -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - using namespace range_detail; -#endif - return range_begin( r ); -} - -template< class T > -#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) -BOOST_CONSTEXPR -#endif -inline BOOST_DEDUCED_TYPENAME range_iterator::type begin( const T& r ) -{ -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - 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::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/3rdparty/boost/boost/range/concepts.hpp b/3rdparty/boost/boost/range/concepts.hpp deleted file mode 100644 index f6f9f41af4..0000000000 --- a/3rdparty/boost/boost/range/concepts.hpp +++ /dev/null @@ -1,388 +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 -#include -#include -#include -#include -#include -#include -#include - -#include - -/*! - * \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)); - * \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)); - * \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: -#ifndef __clang__ - #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 __GCCXML__ - // GCC XML, unsurprisingly, has the same issues - #if __GCCXML_GNUC__ == 4 && __GCCXML_GNUC_MINOR__ == 2 - #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0 - #endif - #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 - struct IncrementableIteratorConcept : CopyConstructible - { -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT - typedef BOOST_DEDUCED_TYPENAME iterator_traversal::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 - struct SinglePassIteratorConcept - : IncrementableIteratorConcept - , EqualityComparable - { -#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 std::iterator_traits::reference r1(*i); - boost::ignore_unused_variable_warning(r1); - - BOOST_DEDUCED_TYPENAME std::iterator_traits::reference r2(*(++i)); - boost::ignore_unused_variable_warning(r2); - } - private: - Iterator i; -#endif - }; - - template - struct ForwardIteratorConcept - : SinglePassIteratorConcept - , DefaultConstructible - { -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT - typedef BOOST_DEDUCED_TYPENAME std::iterator_traits::difference_type difference_type; - - BOOST_MPL_ASSERT((is_integral)); - BOOST_MPL_ASSERT_RELATION(std::numeric_limits::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 std::iterator_traits::reference r(*(i++)); - boost::ignore_unused_variable_warning(r); - } - private: - Iterator i; -#endif - }; - - template - struct BidirectionalIteratorConcept - : ForwardIteratorConcept - { - #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 - struct RandomAccessIteratorConcept - : BidirectionalIteratorConcept - { - #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 BidirectionalIteratorConcept::difference_type n; - Iterator i; - Iterator j; - #endif - }; - - } // namespace range_detail - - //! Check if a type T models the SinglePassRange range concept. - template - struct SinglePassRangeConcept - { -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT - // A few compilers don't like the rvalue reference T types so just - // remove it. - typedef BOOST_DEDUCED_TYPENAME remove_reference::type Rng; - - typedef BOOST_DEDUCED_TYPENAME range_iterator< - Rng const - >::type const_iterator; - - typedef BOOST_DEDUCED_TYPENAME range_iterator::type iterator; - - BOOST_RANGE_CONCEPT_ASSERT(( - range_detail::SinglePassIteratorConcept)); - - BOOST_RANGE_CONCEPT_ASSERT(( - range_detail::SinglePassIteratorConcept)); - - 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); - - boost::ignore_unused_variable_warning(i1); - boost::ignore_unused_variable_warning(i2); - - const_constraints(*m_range); - } - - private: - void const_constraints(const Rng& const_range) - { - const_iterator ci1 = boost::begin(const_range); - const_iterator ci2 = boost::end(const_range); - - boost::ignore_unused_variable_warning(ci1); - boost::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. - Rng* m_range; -#endif - }; - - //! Check if a type T models the ForwardRange range concept. - template - struct ForwardRangeConcept : SinglePassRangeConcept - { -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT - BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept)); - BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept)); -#endif - }; - - template - struct WriteableRangeConcept - { -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT - typedef BOOST_DEDUCED_TYPENAME range_iterator::type iterator; - - BOOST_CONCEPT_USAGE(WriteableRangeConcept) - { - *i = v; - } - private: - iterator i; - BOOST_DEDUCED_TYPENAME range_value::type v; -#endif - }; - - //! Check if a type T models the WriteableForwardRange range concept. - template - struct WriteableForwardRangeConcept - : ForwardRangeConcept - , WriteableRangeConcept - { - }; - - //! Check if a type T models the BidirectionalRange range concept. - template - struct BidirectionalRangeConcept : ForwardRangeConcept - { -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT - BOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept)); - BOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept)); -#endif - }; - - //! Check if a type T models the WriteableBidirectionalRange range concept. - template - struct WriteableBidirectionalRangeConcept - : BidirectionalRangeConcept - , WriteableRangeConcept - { - }; - - //! Check if a type T models the RandomAccessRange range concept. - template - struct RandomAccessRangeConcept : BidirectionalRangeConcept - { -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT - BOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept)); - BOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept)); -#endif - }; - - //! Check if a type T models the WriteableRandomAccessRange range concept. - template - struct WriteableRandomAccessRangeConcept - : RandomAccessRangeConcept - , WriteableRangeConcept - { - }; - -} // namespace boost - -#endif // BOOST_RANGE_CONCEPTS_HPP diff --git a/3rdparty/boost/boost/range/config.hpp b/3rdparty/boost/boost/range/config.hpp deleted file mode 100644 index 7600a5ff82..0000000000 --- a/3rdparty/boost/boost/range/config.hpp +++ /dev/null @@ -1,56 +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 - -#if defined(_MSC_VER) -# pragma once -#endif - -#include - -#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 -#define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME -#endif - -#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT -#error "macro already defined!" -#endif - -#if 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 - -#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) -# define BOOST_RANGE_UNUSED __attribute__((unused)) -#else -# define BOOST_RANGE_UNUSED -#endif - - - -#endif - diff --git a/3rdparty/boost/boost/range/const_iterator.hpp b/3rdparty/boost/boost/range/const_iterator.hpp deleted file mode 100644 index 727fdad058..0000000000 --- a/3rdparty/boost/boost/range/const_iterator.hpp +++ /dev/null @@ -1,76 +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) -# pragma once -#endif - -#include - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - ////////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////////// - - namespace range_detail - { - -BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator ) - -template< typename C > -struct range_const_iterator_helper - : extract_const_iterator -{}; - -////////////////////////////////////////////////////////////////////////// -// pair -////////////////////////////////////////////////////////////////////////// - -template< typename Iterator > -struct range_const_iterator_helper > -{ - typedef Iterator type; -}; - -////////////////////////////////////////////////////////////////////////// -// array -////////////////////////////////////////////////////////////////////////// - -template< typename T, std::size_t sz > -struct range_const_iterator_helper< T[sz] > -{ - typedef const T* type; -}; - - } // namespace range_detail - -template -struct range_const_iterator - : range_detail::range_const_iterator_helper< - BOOST_DEDUCED_TYPENAME remove_reference::type - > -{ -}; - -} // namespace boost - - -#endif diff --git a/3rdparty/boost/boost/range/detail/begin.hpp b/3rdparty/boost/boost/range/detail/begin.hpp deleted file mode 100644 index efadaa6b8c..0000000000 --- a/3rdparty/boost/boost/range/detail/begin.hpp +++ /dev/null @@ -1,83 +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_MSVC -#include -#include -#include - -namespace boost -{ - - namespace range_detail - { - template< typename T > - struct range_begin; - - ////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_begin - { - template< typename C > - BOOST_CONSTEXPR static BOOST_RANGE_DEDUCED_TYPENAME range_iterator::type fun( C& c ) - { - return c.begin(); - }; - }; - - ////////////////////////////////////////////////////////////////////// - // pair - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_begin - { - template< typename P > - BOOST_CONSTEXPR static BOOST_RANGE_DEDUCED_TYPENAME range_iterator

::type fun( const P& p ) - { - return p.first; - } - }; - - ////////////////////////////////////////////////////////////////////// - // array - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_begin - { - template - BOOST_CONSTEXPR static BOOST_RANGE_DEDUCED_TYPENAME range_value::type* fun(T& t) - { - return t; - } - }; - - } // namespace 'range_detail' - - namespace range_adl_barrier - { - template< typename C > - BOOST_CONSTEXPR inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator::type - begin( C& c ) - { - return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range::type >::fun( c ); - } - } -} // namespace 'boost' - - -#endif diff --git a/3rdparty/boost/boost/range/detail/common.hpp b/3rdparty/boost/boost/range/detail/common.hpp deleted file mode 100644 index 2cbc55411d..0000000000 --- a/3rdparty/boost/boost/range/detail/common.hpp +++ /dev/null @@ -1,116 +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) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include - -////////////////////////////////////////////////////////////////////////////// -// 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_ = (is_const_char_ptr_ || is_const_wchar_t_ptr_)); - BOOST_STATIC_CONSTANT( bool, is_array_ = boost::is_array::value ); - - }; - - template< typename C > - class range - { - typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::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::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::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::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::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::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::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::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::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::value, - boost::range_detail::std_container_, - char_array_t >::type type; - }; // class 'range' - } -} - -#endif - diff --git a/3rdparty/boost/boost/range/detail/end.hpp b/3rdparty/boost/boost/range/detail/end.hpp deleted file mode 100644 index 76229216a5..0000000000 --- a/3rdparty/boost/boost/range/detail/end.hpp +++ /dev/null @@ -1,86 +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_MSVC -#include - -#include -#include -#include - -namespace boost -{ - namespace range_detail - { - template< typename T > - struct range_end; - - ////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_end - { - template< typename C > - BOOST_CONSTEXPR static BOOST_RANGE_DEDUCED_TYPENAME range_iterator::type - fun( C& c ) - { - return c.end(); - }; - }; - - ////////////////////////////////////////////////////////////////////// - // pair - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_end - { - template< typename P > - BOOST_CONSTEXPR static BOOST_RANGE_DEDUCED_TYPENAME range_iterator

::type - fun( const P& p ) - { - return p.second; - } - }; - - ////////////////////////////////////////////////////////////////////// - // array - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_end - { - template - BOOST_CONSTEXPR static BOOST_RANGE_DEDUCED_TYPENAME remove_extent::type* fun(T& t) - { - return t + remove_extent::size; - } - }; - - } // namespace 'range_detail' - - namespace range_adl_barrier - { - template< typename C > - BOOST_CONSTEXPR inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator::type - end( C& c ) - { - return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range::type >::fun( c ); - } - } // namespace range_adl_barrier - -} // namespace 'boost' - -#endif diff --git a/3rdparty/boost/boost/range/detail/extract_optional_type.hpp b/3rdparty/boost/boost/range/detail/extract_optional_type.hpp deleted file mode 100644 index 0381434a85..0000000000 --- a/3rdparty/boost/boost/range/detail/extract_optional_type.hpp +++ /dev/null @@ -1,48 +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) -# pragma once -#endif - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) - -// Defines extract_some_typedef which exposes T::some_typedef as -// extract_some_typedef::type if T::some_typedef exists. Otherwise -// extract_some_typedef is empty. -#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef ) \ - BOOST_MPL_HAS_XXX_TRAIT_DEF(a_typedef) \ - template< typename C, bool B = BOOST_PP_CAT(has_, a_typedef)::value > \ - struct BOOST_PP_CAT(extract_, a_typedef) \ - {}; \ - template< typename C > \ - struct BOOST_PP_CAT(extract_, a_typedef)< C, true > \ - { \ - typedef BOOST_DEDUCED_TYPENAME C::a_typedef type; \ - }; - -#else - -#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef ) \ - template< typename C > \ - struct BOOST_PP_CAT(extract_, a_typedef) \ - { \ - typedef BOOST_DEDUCED_TYPENAME C::a_typedef type; \ - }; - -#endif - -#endif // include guard diff --git a/3rdparty/boost/boost/range/detail/has_member_size.hpp b/3rdparty/boost/boost/range/detail/has_member_size.hpp deleted file mode 100644 index 0c639aa891..0000000000 --- a/3rdparty/boost/boost/range/detail/has_member_size.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// Boost.Range library -// -// Copyright Neil Groves 2014. -// -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// For more information, see http://www.boost.org/libs/range/ -// -#ifndef BOOST_RANGE_DETAIL_HAS_MEMBER_SIZE_HPP -#define BOOST_RANGE_DETAIL_HAS_MEMBER_SIZE_HPP - -#include -#include -#include -#include -#include - -namespace boost -{ - namespace range_detail - { - -template -class has_member_size_impl -{ -private: - template - class check - { - }; - - template - static boost::uint8_t f(check*); - - template - static boost::uint16_t f(...); - -public: - static const bool value = - (sizeof(f(0)) == sizeof(boost::uint8_t)); - - typedef typename mpl::if_c< - (sizeof(f(0)) == sizeof(boost::uint8_t)), - mpl::true_, - mpl::false_ - >::type type; -}; - -template -struct has_member_size -{ - typedef typename mpl::and_< - typename is_class::type, - typename has_member_size_impl::type - >::type type; - - static const bool value = - is_class::value && has_member_size_impl::value; -}; - - } // namespace range_detail -}// namespace boost - -#endif // include guard diff --git a/3rdparty/boost/boost/range/detail/implementation_help.hpp b/3rdparty/boost/boost/range/detail/implementation_help.hpp deleted file mode 100644 index 59a3ade837..0000000000 --- a/3rdparty/boost/boost/range/detail/implementation_help.hpp +++ /dev/null @@ -1,114 +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 -#include -#include -#include -#include - -#ifndef BOOST_NO_CWCHAR -#include -#endif - -namespace boost -{ - namespace range_detail - { - template - 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( str_end( s, s ) ); - } - - template< class T, std::size_t sz > - BOOST_CONSTEXPR inline T* array_end( T BOOST_RANGE_ARRAY_REF()[sz] ) BOOST_NOEXCEPT - { - return boost_range_array + sz; - } - - template< class T, std::size_t sz > - BOOST_CONSTEXPR inline const T* array_end( const T BOOST_RANGE_ARRAY_REF()[sz] ) BOOST_NOEXCEPT - { - 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; - } - - inline bool is_same_address(const void* l, const void* r) - { - return l == r; - } - - template - inline bool is_same_object(const T1& l, const T2& r) - { - return range_detail::is_same_address(&l, &r); - } - - } // namespace 'range_detail' - -} // namespace 'boost' - - -#endif diff --git a/3rdparty/boost/boost/range/detail/misc_concept.hpp b/3rdparty/boost/boost/range/detail/misc_concept.hpp deleted file mode 100644 index 74cb919f27..0000000000 --- a/3rdparty/boost/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 - -namespace boost -{ - namespace range_detail - { - template - class SameTypeConcept - { - public: - BOOST_CONCEPT_USAGE(SameTypeConcept) - { - same_type(a,b); - } - private: - template void same_type(T,T) {} - T1 a; - T2 b; - }; - } -} - -#endif // include guard diff --git a/3rdparty/boost/boost/range/detail/msvc_has_iterator_workaround.hpp b/3rdparty/boost/boost/range/detail/msvc_has_iterator_workaround.hpp deleted file mode 100644 index 62b67fd529..0000000000 --- a/3rdparty/boost/boost/range/detail/msvc_has_iterator_workaround.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// Boost.Range library -// -// Copyright Eric Niebler 2014. Use, modification and -// distribution is subject to the 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_MSVC_HAS_ITERATOR_WORKAROUND_HPP -#define BOOST_RANGE_DETAIL_MSVC_HAS_ITERATOR_WORKAROUND_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP -# error This file should only be included from -#endif - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) -namespace boost -{ -namespace cb_details -{ - template - struct iterator; -} - -namespace python -{ - template - struct iterator; -} - -namespace type_erasure -{ - template< - class Traversal, - class T /*= _self*/, - class Reference /*= ::boost::use_default*/, - class DifferenceType /*= ::std::ptrdiff_t*/, - class ValueType /*= typename deduced >::type*/ - > - struct iterator; -} - -namespace unordered { namespace iterator_detail -{ - template - struct iterator; -}} - -namespace container { namespace container_detail -{ - template - class iterator; -}} - -namespace spirit { namespace lex { namespace lexertl -{ - template - class iterator; -}}} - -namespace range_detail -{ - template - struct has_iterator< ::boost::cb_details::iterator > - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::cb_details::iterator const> - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::python::iterator > - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::python::iterator const> - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::type_erasure::iterator > - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::type_erasure::iterator const> - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::unordered::iterator_detail::iterator > - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::unordered::iterator_detail::iterator const> - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::container::container_detail::iterator > - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::container::container_detail::iterator const> - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::spirit::lex::lexertl::iterator > - : mpl::false_ - {}; - - template - struct has_iterator< ::boost::spirit::lex::lexertl::iterator const> - : mpl::false_ - {}; -} -} -#endif -#endif diff --git a/3rdparty/boost/boost/range/detail/safe_bool.hpp b/3rdparty/boost/boost/range/detail/safe_bool.hpp deleted file mode 100644 index 182e510484..0000000000 --- a/3rdparty/boost/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 -// -#ifndef BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP -#define BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP - -#include -#include - -namespace boost -{ - namespace range_detail - { - -template -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/3rdparty/boost/boost/range/detail/sfinae.hpp b/3rdparty/boost/boost/range/detail/sfinae.hpp deleted file mode 100644 index 5b2c61e71e..0000000000 --- a/3rdparty/boost/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 -#include -#include -#include - - -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* ); - no_type is_pair_impl( ... ); - - ////////////////////////////////////////////////////////////////////// - // tags - ////////////////////////////////////////////////////////////////////// - - struct char_or_wchar_t_array_tag {}; - - } // namespace 'range_detail' - -} // namespace 'boost' - -#endif diff --git a/3rdparty/boost/boost/range/difference_type.hpp b/3rdparty/boost/boost/range/difference_type.hpp deleted file mode 100644 index 6bb3c5f552..0000000000 --- a/3rdparty/boost/boost/range/difference_type.hpp +++ /dev/null @@ -1,47 +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) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - namespace range_detail - { - template< class T, bool B = has_type >::value > - struct range_difference - { }; - - template< class T > - struct range_difference - : iterator_difference< - BOOST_DEDUCED_TYPENAME range_iterator::type - > - { }; - } - - template< class T > - struct range_difference - : range_detail::range_difference::type> - { }; -} - -#endif diff --git a/3rdparty/boost/boost/range/distance.hpp b/3rdparty/boost/boost/range/distance.hpp deleted file mode 100644 index 5b82cf0ced..0000000000 --- a/3rdparty/boost/boost/range/distance.hpp +++ /dev/null @@ -1,40 +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) -# pragma once -#endif - -#include -#include -#include -#include - -namespace boost -{ - - namespace range_distance_adl_barrier - { - template< class T > - inline BOOST_CXX14_CONSTEXPR BOOST_DEDUCED_TYPENAME range_difference::type - distance( const T& r ) - { - return boost::iterators::distance( boost::begin( r ), boost::end( r ) ); - } - } - - using namespace range_distance_adl_barrier; - -} // namespace 'boost' - -#endif diff --git a/3rdparty/boost/boost/range/empty.hpp b/3rdparty/boost/boost/range/empty.hpp deleted file mode 100644 index d57a30ed01..0000000000 --- a/3rdparty/boost/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) -# pragma once -#endif - -#include -#include -#include - -namespace boost -{ - - template< class T > - inline bool empty( const T& r ) - { - return boost::begin( r ) == boost::end( r ); - } - -} // namespace 'boost' - - -#endif diff --git a/3rdparty/boost/boost/range/end.hpp b/3rdparty/boost/boost/range/end.hpp deleted file mode 100644 index eab4fa9f5b..0000000000 --- a/3rdparty/boost/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) -# pragma once -#endif - -#include - -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -#include -#else - -#include -#include -#include -#include -#include - -namespace boost -{ - -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -namespace range_detail -{ -#endif - - ////////////////////////////////////////////////////////////////////// - // primary template - ////////////////////////////////////////////////////////////////////// - template< typename C > - BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::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 > - BOOST_CONSTEXPR inline Iterator range_end( const std::pair& p ) - { - return p.second; - } - - template< typename Iterator > - BOOST_CONSTEXPR inline Iterator range_end( std::pair& p ) - { - return p.second; - } - - ////////////////////////////////////////////////////////////////////// - // array - ////////////////////////////////////////////////////////////////////// - - template< typename T, std::size_t sz > - BOOST_CONSTEXPR inline const T* range_end( const T (&a)[sz] ) BOOST_NOEXCEPT - { - return range_detail::array_end( a ); - } - - template< typename T, std::size_t sz > - BOOST_CONSTEXPR inline T* range_end( T (&a)[sz] ) BOOST_NOEXCEPT - { - return range_detail::array_end( a ); - } - -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -} // namespace 'range_detail' -#endif - -namespace range_adl_barrier -{ - -template< class T > -#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) -BOOST_CONSTEXPR -#endif -inline BOOST_DEDUCED_TYPENAME range_iterator::type end( T& r ) -{ -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - using namespace range_detail; -#endif - return range_end( r ); -} - -template< class T > -#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) -BOOST_CONSTEXPR -#endif -inline BOOST_DEDUCED_TYPENAME range_iterator::type end( const T& r ) -{ -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - 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 > - BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::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/3rdparty/boost/boost/range/functions.hpp b/3rdparty/boost/boost/range/functions.hpp deleted file mode 100644 index 43c54b15b8..0000000000 --- a/3rdparty/boost/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) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include - -#endif - diff --git a/3rdparty/boost/boost/range/has_range_iterator.hpp b/3rdparty/boost/boost/range/has_range_iterator.hpp deleted file mode 100644 index 88d8664d16..0000000000 --- a/3rdparty/boost/boost/range/has_range_iterator.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Boost.Range library -// -// Copyright Neil Groves 2010. Use, modification and -// distribution is subject to the 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/ -// -// Acknowledgments: -// Ticket #8341: Arno Schoedl - improved handling of has_range_iterator upon -// use-cases where T was const. -#ifndef BOOST_RANGE_HAS_ITERATOR_HPP_INCLUDED -#define BOOST_RANGE_HAS_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - namespace range_detail - { - BOOST_MPL_HAS_XXX_TRAIT_DEF(type) - - template - struct has_range_iterator_impl - : boost::mpl::false_ - { - }; - - template - struct has_range_iterator_impl< - T, - BOOST_DEDUCED_TYPENAME ::boost::enable_if< - BOOST_DEDUCED_TYPENAME mpl::eval_if, - has_type::type> >, - has_type > - >::type - >::type - > - : boost::mpl::true_ - { - }; - - template - struct has_range_const_iterator_impl - : boost::mpl::false_ - { - }; - - template - struct has_range_const_iterator_impl< - T, - BOOST_DEDUCED_TYPENAME ::boost::enable_if< - has_type > - >::type - > - : boost::mpl::true_ - { - }; - - } // namespace range_detail - - template - struct has_range_iterator - : range_detail::has_range_iterator_impl< - BOOST_DEDUCED_TYPENAME remove_reference::type> - {}; - - template - struct has_range_const_iterator - : range_detail::has_range_const_iterator_impl< - BOOST_DEDUCED_TYPENAME remove_reference::type> - {}; -} // namespace boost - -#endif // include guard - diff --git a/3rdparty/boost/boost/range/iterator.hpp b/3rdparty/boost/boost/range/iterator.hpp deleted file mode 100644 index 2956353ab5..0000000000 --- a/3rdparty/boost/boost/range/iterator.hpp +++ /dev/null @@ -1,74 +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) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include - -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::value, - range_const_iterator< typename remove_const::type >, - range_mutable_iterator >::type type; - }; - - template< typename C, typename T > - struct range_iterator< C, void(T[]) > - { - typedef T* type; - }; - } - - template< typename C, typename Enabler=void > - struct range_iterator - { - - typedef BOOST_RANGE_DEDUCED_TYPENAME - range_detail_vc7_1::range_iterator::type type; - - }; - -#else - - template< typename C, typename Enabler=void > - struct range_iterator - : mpl::if_c< - is_const::type>::value, - range_const_iterator::type>::type>, - range_mutable_iterator::type> - >::type - { - }; - -#endif - -} // namespace boost - -#endif diff --git a/3rdparty/boost/boost/range/iterator_range_core.hpp b/3rdparty/boost/boost/range/iterator_range_core.hpp deleted file mode 100644 index 7f2dc3f9c8..0000000000 --- a/3rdparty/boost/boost/range/iterator_range_core.hpp +++ /dev/null @@ -1,884 +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/ -// -// Credits: -// 'michel' reported Trac 9072 which included a patch for allowing references -// to function types. -// -#ifndef BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED -#define BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED - -#include // Define __STL_CONFIG_H, if appropriate. -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500)) - #pragma warning( push ) - #pragma warning( disable : 4996 ) -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/*! \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 - struct iterator_range_impl { - template< class ForwardRange > - static IteratorT adl_begin( ForwardRange& r ) - { - return IteratorT( boost::begin( r ) ); - } - - template< class ForwardRange > - static IteratorT adl_end( ForwardRange& r ) - { - return 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 iterator_range_detail::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 -{ -}; - -struct iterator_range_tag -{ -}; - -typedef char (&incrementable_t)[1]; -typedef char (&bidirectional_t)[2]; -typedef char (&random_access_t)[3]; - -incrementable_t test_traversal_tag(boost::incrementable_traversal_tag); -bidirectional_t test_traversal_tag(boost::bidirectional_traversal_tag); -random_access_t test_traversal_tag(boost::random_access_traversal_tag); - -template -struct pure_iterator_traversal_impl -{ - typedef boost::incrementable_traversal_tag type; -}; - -template<> -struct pure_iterator_traversal_impl -{ - typedef boost::bidirectional_traversal_tag type; -}; - -template<> -struct pure_iterator_traversal_impl -{ - typedef boost::random_access_traversal_tag type; -}; - -template -struct pure_iterator_traversal -{ - typedef - BOOST_DEDUCED_TYPENAME iterator_traversal::type - traversal_t; - BOOST_STATIC_CONSTANT( - std::size_t, - traversal_i = sizeof(iterator_range_detail::test_traversal_tag((traversal_t()))) - ); - typedef - BOOST_DEDUCED_TYPENAME pure_iterator_traversal_impl::type - type; -}; - -template -class iterator_range_base - : public iterator_range_tag -{ - typedef range_detail::safe_bool< - IteratorT iterator_range_base::* - > safe_bool_t; - - typedef iterator_range_base type; - -protected: - typedef iterator_range_impl impl; - -public: - typedef BOOST_DEDUCED_TYPENAME - safe_bool_t::unspecified_bool_type unspecified_bool_type; - - typedef BOOST_DEDUCED_TYPENAME - iterator_value::type value_type; - - typedef BOOST_DEDUCED_TYPENAME - iterator_difference::type difference_type; - - typedef std::size_t size_type; // note: must be unsigned - - // Needed because value-type is the same for - // const and non-const iterators - typedef BOOST_DEDUCED_TYPENAME - iterator_reference::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; - -protected: - iterator_range_base() - : m_Begin() - , m_End() - { - } - - template - iterator_range_base(Iterator Begin, Iterator End) - : m_Begin(Begin) - , m_End(End) - { - } - -public: - IteratorT begin() const - { - return m_Begin; - } - - IteratorT end() const - { - return m_End; - } - - 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_base::m_Begin); - } - - bool operator!() const - { - return empty(); - } - - bool equal(const iterator_range_base& r) const - { - return m_Begin == r.m_Begin && m_End == r.m_End; - } - - reference front() const - { - BOOST_ASSERT(!empty()); - return *m_Begin; - } - - void drop_front() - { - BOOST_ASSERT(!empty()); - ++m_Begin; - } - - void drop_front(difference_type n) - { - BOOST_ASSERT(n >= difference_type()); - std::advance(this->m_Begin, n); - } - - // Deprecated - void pop_front() { drop_front(); } - -protected: - template - void assign(Iterator first, Iterator last) - { - m_Begin = first; - m_End = last; - } - - template - void assign(const SinglePassRange& r) - { - m_Begin = impl::adl_begin(r); - m_End = impl::adl_end(r); - } - - template - void assign(SinglePassRange& r) - { - m_Begin = impl::adl_begin(r); - m_End = impl::adl_end(r); - } - - IteratorT m_Begin; - IteratorT m_End; -}; - -template -class iterator_range_base - : public iterator_range_base -{ - typedef iterator_range_base base_type; - -protected: - iterator_range_base() - { - } - - template - iterator_range_base(Iterator first, Iterator last) - : base_type(first, last) - { - } - -public: - typedef BOOST_DEDUCED_TYPENAME base_type::difference_type difference_type; - typedef BOOST_DEDUCED_TYPENAME base_type::reference reference; - - reference back() const - { - BOOST_ASSERT(!this->empty()); - return *boost::prior(this->m_End); - } - - void drop_back() - { - BOOST_ASSERT(!this->empty()); - --this->m_End; - } - - void drop_back(difference_type n) - { - BOOST_ASSERT(n >= difference_type()); - std::advance(this->m_End, -n); - } - - // Deprecated - void pop_back() { drop_back(); } -}; - -template -class iterator_range_base - : public iterator_range_base -{ - typedef iterator_range_base< - IteratorT, bidirectional_traversal_tag> base_type; - -public: - typedef BOOST_DEDUCED_TYPENAME - boost::mpl::if_< - boost::mpl::or_< - boost::is_abstract< - BOOST_DEDUCED_TYPENAME base_type::value_type - >, - boost::is_array< - BOOST_DEDUCED_TYPENAME base_type::value_type - >, - boost::is_function< - BOOST_DEDUCED_TYPENAME base_type::value_type - > - >, - BOOST_DEDUCED_TYPENAME base_type::reference, - BOOST_DEDUCED_TYPENAME base_type::value_type - >::type abstract_value_type; - - // Rationale: - // typedef these here to reduce verbiage in the implementation of this - // type. - typedef BOOST_DEDUCED_TYPENAME base_type::difference_type difference_type; - typedef BOOST_DEDUCED_TYPENAME base_type::size_type size_type; - typedef BOOST_DEDUCED_TYPENAME base_type::reference reference; - -protected: - iterator_range_base() - { - } - - template - iterator_range_base(Iterator first, Iterator last) - : base_type(first, last) - { - } - -public: - reference operator[](difference_type at) const - { - BOOST_ASSERT(at >= 0); - BOOST_ASSERT(static_cast(at) < size()); - return this->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); - BOOST_ASSERT(static_cast(at) < size()); - return this->m_Begin[at]; - } - - BOOST_DEDUCED_TYPENAME base_type::size_type size() const - { - return this->m_End - this->m_Begin; - } -}; - - } - -// 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 iterator_range - : public iterator_range_detail::iterator_range_base< - IteratorT, - BOOST_DEDUCED_TYPENAME iterator_range_detail::pure_iterator_traversal::type - > - { - typedef iterator_range_detail::iterator_range_base< - IteratorT, - BOOST_DEDUCED_TYPENAME iterator_range_detail::pure_iterator_traversal::type - > base_type; - - template - struct is_compatible_range_ - : is_convertible< - BOOST_DEDUCED_TYPENAME mpl::eval_if< - has_range_iterator, - range_iterator, - mpl::identity - >::type, - BOOST_DEDUCED_TYPENAME base_type::iterator - > - { - }; - - template - struct is_compatible_range - : mpl::and_< - mpl::not_< - is_convertible< - Source, - BOOST_DEDUCED_TYPENAME base_type::iterator - > - >, - is_compatible_range_ - > - { - }; - - protected: - typedef iterator_range_detail::iterator_range_impl impl; - - public: - typedef iterator_range type; - - iterator_range() - { - } - - template - iterator_range(Iterator first, Iterator last) - : base_type(first, last) - { - } - - template - iterator_range( - const SinglePassRange& r, - BOOST_DEDUCED_TYPENAME ::boost::enable_if< - is_compatible_range - >::type* = 0 - ) - : base_type(impl::adl_begin(r), impl::adl_end(r)) - { - } - - template - iterator_range( - SinglePassRange& r, - BOOST_DEDUCED_TYPENAME ::boost::enable_if< - is_compatible_range - >::type* = 0 - ) - : base_type(impl::adl_begin(r), impl::adl_end(r)) - { - } - - template - iterator_range(const SinglePassRange& r, - iterator_range_detail::const_range_tag) - : base_type(impl::adl_begin(r), impl::adl_end(r)) - { - } - - template - iterator_range(SinglePassRange& r, - iterator_range_detail::range_tag) - : base_type(impl::adl_begin(r), impl::adl_end(r)) - { - } - - template - iterator_range& operator=(const iterator_range& other) - { - this->assign(other.begin(), other.end()); - return *this; - } - - template - iterator_range& operator=(iterator_range& other) - { - this->assign(other.begin(), other.end()); - return *this; - } - - template - iterator_range& operator=(SinglePassRange& r) - { - this->assign(r); - return *this; - } - - template - iterator_range& operator=(const SinglePassRange& r) - { - this->assign(r); - return *this; - } - - iterator_range& advance_begin( - BOOST_DEDUCED_TYPENAME base_type::difference_type n) - { - std::advance(this->m_Begin, n); - return *this; - } - - iterator_range& advance_end( - BOOST_DEDUCED_TYPENAME base_type::difference_type n) - { - std::advance(this->m_End, n); - return *this; - } - - 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 BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator==( const ForwardRange& l, const iterator_range& r ) - { - return boost::equal( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator!=( const ForwardRange& l, const iterator_range& r ) - { - return !boost::equal( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator<( const ForwardRange& l, const iterator_range& r ) - { - return iterator_range_detail::less_than( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator<=( const ForwardRange& l, const iterator_range& r ) - { - return iterator_range_detail::less_or_equal_than( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator>( const ForwardRange& l, const iterator_range& r ) - { - return iterator_range_detail::greater_than( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator>=( const ForwardRange& l, const iterator_range& 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& l, const iterator_range& r ) - { - return boost::equal( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator==( const iterator_range& l, const ForwardRange& r ) - { - return boost::equal( l, r ); - } - - - template< class Iterator1T, class Iterator2T > - inline bool - operator!=( const iterator_range& l, const iterator_range& r ) - { - return !boost::equal( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator!=( const iterator_range& l, const ForwardRange& r ) - { - return !boost::equal( l, r ); - } - - - template< class Iterator1T, class Iterator2T > - inline bool - operator<( const iterator_range& l, const iterator_range& r ) - { - return iterator_range_detail::less_than( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator<( const iterator_range& l, const ForwardRange& r ) - { - return iterator_range_detail::less_than( l, r ); - } - - template< class Iterator1T, class Iterator2T > - inline bool - operator<=( const iterator_range& l, const iterator_range& r ) - { - return iterator_range_detail::less_or_equal_than( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator<=( const iterator_range& 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& l, const iterator_range& r ) - { - return iterator_range_detail::greater_than( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator>( const iterator_range& l, const ForwardRange& r ) - { - return iterator_range_detail::greater_than( l, r ); - } - - template< class Iterator1T, class Iterator2T > - inline bool - operator>=( const iterator_range& l, const iterator_range& r ) - { - return iterator_range_detail::greater_or_equal_than( l, r ); - } - - template< class IteratorT, class ForwardRange > - inline BOOST_DEDUCED_TYPENAME boost::enable_if< - mpl::not_ >, - bool - >::type - operator>=( const iterator_range& 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( Begin, End ); - } - - template - inline iterator_range - make_iterator_range_n(IteratorT first, IntegerT n) - { - return iterator_range(first, boost::next(first, n)); - } - -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - - template< typename Range > - inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator::type > - make_iterator_range( Range& r ) - { - return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator::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::type > - make_iterator_range( ForwardRange& r ) - { - return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator::type > - ( r, iterator_range_detail::range_tag() ); - } - - template< class ForwardRange > - inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator::type > - make_iterator_range( const ForwardRange& r ) - { - return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator::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::type > - make_range_impl( Range& r, - BOOST_DEDUCED_TYPENAME range_difference::type advance_begin, - BOOST_DEDUCED_TYPENAME range_difference::type advance_end ) - { - // - // Not worth the effort - // - //if( advance_begin == 0 && advance_end == 0 ) - // return make_iterator_range( r ); - // - - BOOST_DEDUCED_TYPENAME range_iterator::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::type > - make_iterator_range( Range& r, - BOOST_DEDUCED_TYPENAME range_difference::type advance_begin, - BOOST_DEDUCED_TYPENAME range_difference::type advance_end ) - { - return iterator_range_detail::make_range_impl( r, advance_begin, advance_end ); - } - -#else - - template< class Range > - inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator::type > - make_iterator_range( Range& r, - BOOST_DEDUCED_TYPENAME range_difference::type advance_begin, - BOOST_DEDUCED_TYPENAME range_difference::type advance_end ) - { - return iterator_range_detail::make_range_impl( r, advance_begin, advance_end ); - } - - template< class Range > - inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator::type > - make_iterator_range( const Range& r, - BOOST_DEDUCED_TYPENAME range_difference::type advance_begin, - BOOST_DEDUCED_TYPENAME range_difference::type advance_end ) - { - 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/3rdparty/boost/boost/range/mutable_iterator.hpp b/3rdparty/boost/boost/range/mutable_iterator.hpp deleted file mode 100644 index b924666679..0000000000 --- a/3rdparty/boost/boost/range/mutable_iterator.hpp +++ /dev/null @@ -1,79 +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) -# pragma once -#endif - -#include - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - ////////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////////// - - namespace range_detail - { - -BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( iterator ) - -template< typename C > -struct range_mutable_iterator - : range_detail::extract_iterator< - BOOST_DEDUCED_TYPENAME remove_reference::type> -{}; - -////////////////////////////////////////////////////////////////////////// -// pair -////////////////////////////////////////////////////////////////////////// - -template< typename Iterator > -struct range_mutable_iterator< std::pair > -{ - typedef Iterator type; -}; - -////////////////////////////////////////////////////////////////////////// -// array -////////////////////////////////////////////////////////////////////////// - -template< typename T, std::size_t sz > -struct range_mutable_iterator< T[sz] > -{ - typedef T* type; -}; - - } // namespace range_detail - -template -struct range_mutable_iterator - : range_detail::range_mutable_iterator< - BOOST_DEDUCED_TYPENAME remove_reference::type - > -{ -}; - -} // namespace boost - -#include - -#endif diff --git a/3rdparty/boost/boost/range/range_fwd.hpp b/3rdparty/boost/boost/range/range_fwd.hpp deleted file mode 100644 index 0e6e00f553..0000000000 --- a/3rdparty/boost/boost/range/range_fwd.hpp +++ /dev/null @@ -1,63 +0,0 @@ -// Boost.Range library -// -// Copyright Neil Groves 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_RANGE_FWD_HPP_INCLUDED -#define BOOST_RANGE_RANGE_FWD_HPP_INCLUDED - -namespace boost -{ - -// Extension points - template - struct range_iterator; - - template - struct range_mutable_iterator; - - template - struct range_const_iterator; - -// Core classes - template - class iterator_range; - - template - class sub_range; - -// Meta-functions - template - struct range_category; - - template - struct range_difference; - - template - struct range_pointer; - - template - struct range_reference; - - template - struct range_reverse_iterator; - - template - struct range_size; - - template - struct range_value; - - template - struct has_range_iterator; - - template - struct has_range_const_iterator; - -} // namespace boost - -#endif // include guard diff --git a/3rdparty/boost/boost/range/rbegin.hpp b/3rdparty/boost/boost/range/rbegin.hpp deleted file mode 100644 index 6d66de94b9..0000000000 --- a/3rdparty/boost/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) -# pragma once -#endif - -#include -#include - -namespace boost -{ - -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type -rbegin( C& c ) -{ - return BOOST_DEDUCED_TYPENAME range_reverse_iterator::type( boost::end( c ) ); -} - -#else - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type -rbegin( C& c ) -{ - typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::type - iter_type; - return iter_type( boost::end( c ) ); -} - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type -rbegin( const C& c ) -{ - typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::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::type -const_rbegin( const T& r ) -{ - return boost::rbegin( r ); -} - -} // namespace 'boost' - -#endif - diff --git a/3rdparty/boost/boost/range/rend.hpp b/3rdparty/boost/boost/range/rend.hpp deleted file mode 100644 index ef7040780c..0000000000 --- a/3rdparty/boost/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) -# pragma once -#endif - -#include -#include - -namespace boost -{ - -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type -rend( C& c ) -{ - return BOOST_DEDUCED_TYPENAME range_reverse_iterator::type( boost::begin( c ) ); -} - -#else - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type -rend( C& c ) -{ - typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::type - iter_type; - return iter_type( boost::begin( c ) ); -} - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type -rend( const C& c ) -{ - typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::type - iter_type; - return iter_type( boost::begin( c ) ); -} - -#endif - -template< class T > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type -const_rend( const T& r ) -{ - return boost::rend( r ); -} - -} // namespace 'boost' - -#endif - diff --git a/3rdparty/boost/boost/range/reverse_iterator.hpp b/3rdparty/boost/boost/range/reverse_iterator.hpp deleted file mode 100644 index 0aa0130af6..0000000000 --- a/3rdparty/boost/boost/range/reverse_iterator.hpp +++ /dev/null @@ -1,42 +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) -# pragma once -#endif - -#include -#include -#include -#include - - -namespace boost -{ - ////////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////////// - - template< typename T > - struct range_reverse_iterator - { - typedef reverse_iterator< - BOOST_DEDUCED_TYPENAME range_iterator< - BOOST_DEDUCED_TYPENAME remove_reference::type>::type > type; - }; - - -} // namespace boost - - -#endif diff --git a/3rdparty/boost/boost/range/size.hpp b/3rdparty/boost/boost/range/size.hpp deleted file mode 100644 index 7f38db8c1e..0000000000 --- a/3rdparty/boost/boost/range/size.hpp +++ /dev/null @@ -1,76 +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) -# pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - namespace range_detail - { - - template - inline typename ::boost::enable_if< - has_member_size, - typename range_size::type - >::type - range_calculate_size(const SinglePassRange& rng) - { - return rng.size(); - } - - template - inline typename disable_if< - has_member_size, - typename range_size::type - >::type - range_calculate_size(const SinglePassRange& rng) - { - return std::distance(boost::begin(rng), boost::end(rng)); - } - } - - template - inline typename range_size::type - size(const SinglePassRange& rng) - { -// Very strange things happen on some compilers that have the range concept -// asserts disabled. This preprocessor condition is clearly redundant on a -// working compiler but is vital for at least some compilers such as clang 4.2 -// but only on the Mac! -#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT == 1 - BOOST_RANGE_CONCEPT_ASSERT((boost::SinglePassRangeConcept)); -#endif - -#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/3rdparty/boost/boost/range/size_type.hpp b/3rdparty/boost/boost/range/size_type.hpp deleted file mode 100644 index 0a2ea81bb9..0000000000 --- a/3rdparty/boost/boost/range/size_type.hpp +++ /dev/null @@ -1,90 +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) -# pragma once -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace boost -{ - namespace detail - { - - ////////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////////// - - template - class has_size_type - { - typedef char no_type; - struct yes_type { char dummy[2]; }; - - template - static yes_type test(BOOST_DEDUCED_TYPENAME C::size_type x); - - template - static no_type test(...); - - public: - static const bool value = sizeof(test(0)) == sizeof(yes_type); - }; - - template - struct range_size_ - { - typedef BOOST_DEDUCED_TYPENAME make_unsigned< - BOOST_DEDUCED_TYPENAME range_difference::type - >::type type; - }; - - template - struct range_size_< - C, - BOOST_DEDUCED_TYPENAME ::boost::enable_if, void>::type - > - { - typedef BOOST_DEDUCED_TYPENAME C::size_type type; - }; - - template >::value> - struct range_size - { }; - - template - struct range_size - : range_size_ - { }; - } - - template< class T > - struct range_size : - detail::range_size - { }; - -} // namespace boost - - - -#endif diff --git a/3rdparty/boost/boost/range/value_type.hpp b/3rdparty/boost/boost/range/value_type.hpp deleted file mode 100644 index 5a3187ec0e..0000000000 --- a/3rdparty/boost/boost/range/value_type.hpp +++ /dev/null @@ -1,30 +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) -# pragma once -#endif - -#include -#include - -#include - -namespace boost -{ - template< class T > - struct range_value : iterator_value< typename range_iterator::type > - { }; -} - -#endif diff --git a/3rdparty/boost/boost/type_traits/conversion_traits.hpp b/3rdparty/boost/boost/type_traits/conversion_traits.hpp deleted file mode 100644 index c8e5139b30..0000000000 --- a/3rdparty/boost/boost/type_traits/conversion_traits.hpp +++ /dev/null @@ -1,17 +0,0 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu) -// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@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 - -#endif // BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED diff --git a/3rdparty/boost/boost/type_traits/detail/has_binary_operator.hpp b/3rdparty/boost/boost/type_traits/detail/has_binary_operator.hpp deleted file mode 100644 index 7e74705eb3..0000000000 --- a/3rdparty/boost/boost/type_traits/detail/has_binary_operator.hpp +++ /dev/null @@ -1,279 +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 -#include - -// 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__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::type> - : public boost::integral_constant::type>() BOOST_TT_TRAIT_OP std::declval::type>()), Ret>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::type> - : public boost::integral_constant::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::type> - : public boost::true_type {}; - - } - - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail:: BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail:: BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail:: BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) {}; - - -} - -#else - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -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 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 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 int operator,(const T&, returns_void_t); -template 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() BOOST_TT_TRAIT_OP make(),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() BOOST_TT_TRAIT_OP make()))==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 s_check(has_operator); // this version is preferred when operator exists - static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise - - BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make() BOOST_TT_TRAIT_OP make()),make())))==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 = (operator_exists < Lhs, Rhs >::value && operator_returns_Ret < Lhs, Rhs, Ret, operator_returns_void < Lhs, Rhs >::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::type Lhs_noref; - typedef typename ::boost::remove_reference::type Rhs_noref; - typedef typename ::boost::remove_cv::type Lhs_nocv; - typedef typename ::boost::remove_cv::type Rhs_nocv; - typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer::type >::type >::type Lhs_noptr; - typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer::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 -template -struct BOOST_TT_TRAIT_NAME : public integral_constant::value)>{}; - -} // namespace boost - -#endif - -#if defined(BOOST_MSVC) -# pragma warning ( pop ) -#endif - diff --git a/3rdparty/boost/boost/type_traits/detail/is_likely_lambda.hpp b/3rdparty/boost/boost/type_traits/detail/is_likely_lambda.hpp deleted file mode 100644 index 21810dda40..0000000000 --- a/3rdparty/boost/boost/type_traits/detail/is_likely_lambda.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright 2017 Joaquin M Lopez Munoz. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * See http://www.boost.org/libs/poly_collection for library home page. - */ - -#ifndef BOOST_TT_DETAIL_IS_LIKELY_STATELESS_LAMBDA_HPP -#define BOOST_TT_DETAIL_IS_LIKELY_STATELESS_LAMBDA_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#include -#include - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) -// -// We don't need or use this, just define a dummy class: -// -namespace boost{ namespace type_traits_detail{ - -template -struct is_likely_stateless_lambda : public false_type {}; - -}} - -#elif !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900)\ - && !(BOOST_WORKAROUND(BOOST_MSVC, == 1900) && defined(__CLR_VER)) - -#include -#include - -namespace boost{ - -namespace type_traits_detail{ - -/* Stateless lambda expressions have one (and only one) call operator and are - * convertible to a function pointer with the same signature. Non-lambda types - * could satisfy this too, hence the "likely" qualifier. - */ - -template -struct has_one_operator_call_helper -{ - template static boost::true_type test(decltype(&Q::operator())*); - template static boost::false_type test(...); - - using type=decltype(test(nullptr)); -}; - -template -using has_one_operator_call=typename has_one_operator_call_helper::type; - -template -struct equivalent_function_pointer -{ - template - static auto helper(R (Q::*)(Args...)const)->R(*)(Args...); - template - static auto helper(R (Q::*)(Args...))->R(*)(Args...); - - using type=decltype(helper(&T::operator())); -}; - -template -struct is_likely_stateless_lambda : false_type{}; - -template -struct is_likely_stateless_lambda< - T, - typename boost::enable_if_::value>::type> : - boost::is_convertible::type ->{}; - -} /* namespace type_traits_detail */ - -} /* namespace boost */ - -#else - // - // Can't implement this: - // -namespace boost { - namespace type_traits_detail { - - template - struct is_likely_stateless_lambda : public boost::integral_constant {}; -}} - -#endif -#endif - diff --git a/3rdparty/boost/boost/type_traits/has_left_shift.hpp b/3rdparty/boost/boost/type_traits/has_left_shift.hpp deleted file mode 100644 index e95c12a80a..0000000000 --- a/3rdparty/boost/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\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/3rdparty/boost/boost/type_traits/has_minus.hpp b/3rdparty/boost/boost/type_traits/has_minus.hpp deleted file mode 100644 index fcd5d94779..0000000000 --- a/3rdparty/boost/boost/type_traits/has_minus.hpp +++ /dev/null @@ -1,158 +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 - -#include -#include - -// 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__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct has_minus_ret_imp : public boost::false_type {}; - - template - struct has_minus_ret_imp::type>() - std::declval::type>())>::type> - : public boost::integral_constant::type>() - std::declval::type>()), Ret>::value> {}; - - template - struct has_minus_void_imp : public boost::false_type {}; - - template - struct has_minus_void_imp::type>() - std::declval::type>())>::type> - : public boost::integral_constant::type>() - std::declval::type>())>::value> {}; - - template - struct has_minus_dc_imp : public boost::false_type {}; - - template - struct has_minus_dc_imp::type>() - std::declval::type>())>::type> - : public boost::true_type {}; - - template - struct has_minus_ret_filter : public boost::binary_op_detail::has_minus_ret_imp {}; - template - struct has_minus_ret_filter : public boost::binary_op_detail::has_minus_void_imp {}; - template - struct has_minus_ret_filter : public boost::binary_op_detail::has_minus_dc_imp {}; - - template - struct has_minus_void_ptr_filter : public boost::binary_op_detail::has_minus_ret_filter {}; - template - struct has_minus_void_ptr_filter : public boost::false_type {}; - - } - - template - struct has_minus : - public boost::binary_op_detail::has_minus_void_ptr_filter< - T, U, Ret, - boost::is_void::type>::type>::value - || boost::is_void::type>::type>::value> {}; - - -} - -#else - - -#define BOOST_TT_TRAIT_NAME has_minus -#define BOOST_TT_TRAIT_OP - -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Lhs==void* and (Rhs==fundamental or Rhs==pointer) */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) || \ - /* Rhs==void* and (Lhs==fundamental or Lhs==pointer) */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - (\ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - )\ - ) ||\ - /* Lhs=fundamental and Rhs=pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) ||\ - /* two different pointers */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! ::boost::is_same< Lhs_nocv, Rhs_nocv >::value )\ - )\ - ) - -#define BOOST_TT_FORBIDDEN_IF_NEW (boost::is_void::type>::type>::value || boost::is_void::type>::type>::value) - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif - -#if defined(BOOST_MSVC) -# pragma warning (pop) -#endif - -#endif diff --git a/3rdparty/boost/boost/type_traits/has_minus_assign.hpp b/3rdparty/boost/boost/type_traits/has_minus_assign.hpp deleted file mode 100644 index ea3169e0bd..0000000000 --- a/3rdparty/boost/boost/type_traits/has_minus_assign.hpp +++ /dev/null @@ -1,163 +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_ASSIGN_HPP_INCLUDED -#define BOOST_TT_has_minus_assign_ASSIGN_HPP_INCLUDED - -#include -#include - -// 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__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct has_minus_assign_ret_imp : public boost::false_type {}; - - template - struct has_minus_assign_ret_imp::type>() -= std::declval::type>())>::type> - : public boost::integral_constant::type>() -= std::declval::type>()), Ret>::value> {}; - - template - struct has_minus_assign_void_imp : public boost::false_type {}; - - template - struct has_minus_assign_void_imp::type>() -= std::declval::type>())>::type> - : public boost::integral_constant::type>() -= std::declval::type>())>::value> {}; - - template - struct has_minus_assign_dc_imp : public boost::false_type {}; - - template - struct has_minus_assign_dc_imp::type>() -= std::declval::type>())>::type> - : public boost::true_type {}; - - template - struct has_minus_assign_ret_filter : public boost::binary_op_detail::has_minus_assign_ret_imp {}; - template - struct has_minus_assign_ret_filter : public boost::binary_op_detail::has_minus_assign_void_imp {}; - template - struct has_minus_assign_ret_filter : public boost::binary_op_detail::has_minus_assign_dc_imp {}; - - template - struct has_minus_assign_void_ptr_filter : public boost::binary_op_detail::has_minus_assign_ret_filter {}; - template - struct has_minus_assign_void_ptr_filter : public boost::false_type {}; - - } - - template - struct has_minus_assign : - public boost::binary_op_detail::has_minus_assign_void_ptr_filter< - T, U, Ret, - boost::is_void::type>::type>::value - || boost::is_void::type>::type>::value - || (boost::is_pointer::type>::value && boost::is_pointer::type>::value)> {}; - - -} - -#else - -#define BOOST_TT_TRAIT_NAME has_minus_assign -#define BOOST_TT_TRAIT_OP -= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Lhs==void* and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==void* and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs=fundamental and Rhs=pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\ - (\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - ) && \ - (\ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - ) && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif - -#if defined(BOOST_MSVC) -# pragma warning (pop) -#endif - -#endif diff --git a/3rdparty/boost/boost/type_traits/has_plus.hpp b/3rdparty/boost/boost/type_traits/has_plus.hpp deleted file mode 100644 index 2d7932884d..0000000000 --- a/3rdparty/boost/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\ - (\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* Lhs==void* and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==void* and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Rhs==pointer and Lhs==fundamental and Lhs!=integral */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value && \ - (! ::boost::is_integral< Lhs_noref >::value )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/3rdparty/boost/boost/type_traits/has_plus_assign.hpp b/3rdparty/boost/boost/type_traits/has_plus_assign.hpp deleted file mode 100644 index 161ca15815..0000000000 --- a/3rdparty/boost/boost/type_traits/has_plus_assign.hpp +++ /dev/null @@ -1,161 +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 - -#include -#include - -// 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__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct has_plus_assign_ret_imp : public boost::false_type {}; - - template - struct has_plus_assign_ret_imp::type>() += std::declval::type>())>::type> - : public boost::integral_constant::type>() += std::declval::type>()), Ret>::value> {}; - - template - struct has_plus_assign_void_imp : public boost::false_type {}; - - template - struct has_plus_assign_void_imp::type>() += std::declval::type>())>::type> - : public boost::integral_constant::type>() += std::declval::type>())>::value> {}; - - template - struct has_plus_assign_dc_imp : public boost::false_type {}; - - template - struct has_plus_assign_dc_imp::type>() += std::declval::type>())>::type> - : public boost::true_type {}; - - template - struct has_plus_assign_filter_ret : public boost::binary_op_detail:: has_plus_assign_ret_imp {}; - template - struct has_plus_assign_filter_ret : public boost::binary_op_detail:: has_plus_assign_void_imp {}; - template - struct has_plus_assign_filter_ret : public boost::binary_op_detail:: has_plus_assign_dc_imp {}; - - template - struct has_plus_assign_filter_impossible : public boost::binary_op_detail:: has_plus_assign_filter_ret {}; - template - struct has_plus_assign_filter_impossible : public boost::false_type {}; - - } - - template - struct has_plus_assign : public boost::binary_op_detail:: has_plus_assign_filter_impossible ::type>::value && boost::is_pointer::type>::value && !boost::is_same::type>::type>::value> {}; - -} - -#else - -#define BOOST_TT_TRAIT_NAME has_plus_assign -#define BOOST_TT_TRAIT_OP += -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* Lhs==void* and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==void* and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Rhs==pointer and Lhs==fundamental and Lhs!=bool */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value && \ - (! ::boost::is_same< Lhs_nocv, bool >::value )\ - ) || \ - /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\ - (\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - ) && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - ) && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif - -#if defined(BOOST_MSVC) -# pragma warning (pop) -#endif - -#endif diff --git a/3rdparty/boost/boost/type_traits/has_right_shift.hpp b/3rdparty/boost/boost/type_traits/has_right_shift.hpp deleted file mode 100644 index 5562911233..0000000000 --- a/3rdparty/boost/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\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/3rdparty/boost/boost/type_traits/is_float.hpp b/3rdparty/boost/boost/type_traits/is_float.hpp deleted file mode 100644 index 7bf7d1f820..0000000000 --- a/3rdparty/boost/boost/type_traits/is_float.hpp +++ /dev/null @@ -1,20 +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 - -namespace boost { - -//* is a type T a floating-point type described in the standard (3.9.1p8) - template struct is_float : public is_floating_point {}; -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED diff --git a/3rdparty/boost/boost/type_traits/is_fundamental.hpp b/3rdparty/boost/boost/type_traits/is_fundamental.hpp deleted file mode 100644 index f58767a489..0000000000 --- a/3rdparty/boost/boost/type_traits/is_fundamental.hpp +++ /dev/null @@ -1,26 +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 -#include - -namespace boost { - -//* is a type T a fundamental type described in the standard (3.9.1) -#if defined( __CODEGEARC__ ) -template struct is_fundamental : public integral_constant {}; -#else -template struct is_fundamental : public integral_constant::value || ::boost::is_void::value> {}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED diff --git a/3rdparty/boost/boost/type_traits/make_unsigned.hpp b/3rdparty/boost/boost/type_traits/make_unsigned.hpp deleted file mode 100644 index 17a8a5b929..0000000000 --- a/3rdparty/boost/boost/type_traits/make_unsigned.hpp +++ /dev/null @@ -1,136 +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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { - -template -struct make_unsigned -{ -private: - BOOST_STATIC_ASSERT_MSG((::boost::is_integral::value || ::boost::is_enum::value), "The template argument to make_unsigned must be an integer or enum type."); - BOOST_STATIC_ASSERT_MSG((! ::boost::is_same::type, bool>::value), "The template argument to make_unsigned must not be the type bool"); - - typedef typename remove_cv::type t_no_cv; - typedef typename conditional< - (::boost::is_unsigned::value && ::boost::is_integral::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value), - T, - typename conditional< - (::boost::is_integral::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value), - typename conditional< - is_same::value, - unsigned char, - typename conditional< - is_same::value, - unsigned short, - typename conditional< - is_same::value, - unsigned int, - typename conditional< - is_same::value, - unsigned long, -#if defined(BOOST_HAS_LONG_LONG) -#ifdef BOOST_HAS_INT128 - typename conditional< - 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 conditional< - sizeof(t_no_cv) == sizeof(unsigned char), - unsigned char, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned short), - unsigned short, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned int), - unsigned int, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned long), - unsigned long, -#if defined(BOOST_HAS_LONG_LONG) -#ifdef BOOST_HAS_INT128 - typename conditional< - 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 conditional< - is_const::value, - typename add_const::type, - base_integer_type - >::type const_base_integer_type; -public: - // Add back any volatile qualifier: - typedef typename conditional< - is_volatile::value, - typename add_volatile::type, - const_base_integer_type - >::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using make_unsigned_t = typename make_unsigned::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED - diff --git a/3rdparty/boost/boost/type_traits/make_void.hpp b/3rdparty/boost/boost/type_traits/make_void.hpp deleted file mode 100644 index b8a72ef571..0000000000 --- a/3rdparty/boost/boost/type_traits/make_void.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/* -Copyright 2017 Glen Joseph Fernandes -(glenjofe@gmail.com) - -Distributed under the Boost Software License, -Version 1.0. (See accompanying file LICENSE_1_0.txt -or copy at http://www.boost.org/LICENSE_1_0.txt) -*/ - -#ifndef BOOST_TT_MAKE_VOID_HPP_INCLUDED -#define BOOST_TT_MAKE_VOID_HPP_INCLUDED - -#include - -namespace boost { - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -template -struct make_void { - typedef void type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template -using void_t = typename make_void::type; -#endif - -#else /* BOOST_NO_CXX11_VARIADIC_TEMPLATES */ - -template -struct make_void { - typedef void type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template -using void_t = typename make_void::type; -#endif - -#endif - -} /* boost */ - -#endif diff --git a/3rdparty/boost/boost/utility.hpp b/3rdparty/boost/boost/utility.hpp deleted file mode 100644 index 5ac9ecbd85..0000000000 --- a/3rdparty/boost/boost/utility.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// Boost utility.hpp header file -------------------------------------------// - -// Copyright 1999-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 a copy at .) - -// See for the library's home page. - -#ifndef BOOST_UTILITY_HPP -#define BOOST_UTILITY_HPP - -// Use of this header is discouraged and it will be deprecated. -// Please include one or more of the headers below instead. - -#include -#include -#include - -#include -#include -#include -#include - -#endif // BOOST_UTILITY_HPP diff --git a/3rdparty/boost/boost/utility/base_from_member.hpp b/3rdparty/boost/boost/utility/base_from_member.hpp deleted file mode 100644 index 604541d19a..0000000000 --- a/3rdparty/boost/boost/utility/base_from_member.hpp +++ /dev/null @@ -1,172 +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 -// .) - -// See for the library's home page. - -#ifndef BOOST_UTILITY_BASE_FROM_MEMBER_HPP -#define BOOST_UTILITY_BASE_FROM_MEMBER_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -// 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) > \ - 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::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::type, - typename ::boost::detail::remove_cv_ref::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 -struct enable_if_unrelated - : public ::boost::enable_if_c -{}; - -template -struct enable_if_unrelated - : public ::boost::disable_if< ::boost::detail::is_related > -{}; -#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 ::type> - explicit BOOST_CONSTEXPR base_from_member( T&& ...x ) - BOOST_NOEXCEPT_IF( BOOST_NOEXCEPT_EXPR(::new ((void*) 0) MemberType( - static_cast(x)... )) ) // no std::is_nothrow_constructible... - : member( static_cast(x)... ) // ...nor std::forward needed - {} -#else - base_from_member() - : member() - {} - - template < typename T0 > explicit base_from_member( T0 x0 ) : member( x0 ) {} - BOOST_PP_REPEAT_FROM_TO( 2, BOOST_PP_INC(BOOST_BASE_FROM_MEMBER_MAX_ARITY), - BOOST_PRIVATE_CTR_DEF, _ ) -#endif - -}; // boost::base_from_member - -template < typename MemberType, int UniqueID > -class base_from_member -{ -protected: - MemberType& member; - - explicit BOOST_CONSTEXPR base_from_member( MemberType& x ) - BOOST_NOEXCEPT - : member( x ) - {} - -}; // 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/3rdparty/boost/boost/utility/binary.hpp b/3rdparty/boost/boost/utility/binary.hpp deleted file mode 100644 index 8cef1468e5..0000000000 --- a/3rdparty/boost/boost/utility/binary.hpp +++ /dev/null @@ -1,708 +0,0 @@ -/*============================================================================= - Copyright (c) 2005 Matthew Calabrese - - Use, modification and distribution is subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_UTILITY_BINARY_HPP -#define BOOST_UTILITY_BINARY_HPP - -/*============================================================================= - - Binary Literal Utility - ______________________ - - - The following code works by converting the input bit pattern into a - Boost.Preprocessor sequence, then converting groupings of 3 bits each into - the corresponding octal digit, and finally concatenating all of the digits - together along with a leading zero. This yields a standard octal literal - with the desired value as specified in bits. - -==============================================================================*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_BINARY( bit_groupings ) \ - BOOST_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings ) - -#define BOOST_BINARY_U( bit_groupings ) \ - BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, U ) - -#define BOOST_BINARY_L( bit_groupings ) \ - BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, L ) - -#define BOOST_BINARY_UL( bit_groupings ) \ - BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, UL ) - -#define BOOST_BINARY_LU( bit_groupings ) \ - BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LU ) - -#define BOOST_BINARY_LL( bit_groupings ) \ - BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LL ) - -#define BOOST_BINARY_ULL( bit_groupings ) \ - BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, ULL ) - -#define BOOST_BINARY_LLU( bit_groupings ) \ - BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LLU ) - -#define BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, suffix ) \ - BOOST_SUFFIXED_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings, suffix ) - -#define BOOST_SUFFIXED_BINARY_LITERAL_D( d, bit_groupings, suffix ) \ - BOOST_PP_CAT( BOOST_BINARY_LITERAL_D( d, bit_groupings ), suffix ) - -#define BOOST_BINARY_LITERAL_D( d, bit_groupings ) \ - BOOST_PP_SEQ_CAT \ - ( (0) BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings ) \ - ) - -#define BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings ) \ - BOOST_PP_SEQ_TRANSFORM \ - ( BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION \ - , BOOST_PP_NIL \ - , BOOST_PP_IDENTITY( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE )()\ - ( BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE \ - ( \ - d \ - , BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings ) \ - ) \ - ) \ - ) - -#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE( bit_sequence ) \ - BOOST_PP_CAT \ - ( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 bit_sequence \ - , END_BIT \ - ) - -#define BOOST_DETAIL_BITS_PER_OCTIT 3 - -#define BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE( d, incomplete_nibble_sequence ) \ - BOOST_PP_CAT \ - ( BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_ \ - , BOOST_PP_MOD_D( d \ - , BOOST_PP_SEQ_SIZE( incomplete_nibble_sequence ) \ - , BOOST_DETAIL_BITS_PER_OCTIT \ - ) \ - ) \ - incomplete_nibble_sequence - -#define BOOST_DETAIL_FIXED_COMPL( bit ) \ - BOOST_PP_CAT( BOOST_DETAIL_FIXED_COMPL_, bit ) - -#define BOOST_DETAIL_FIXED_COMPL_0 1 - -#define BOOST_DETAIL_FIXED_COMPL_1 0 - -#define BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings ) \ - BOOST_PP_EMPTY \ - BOOST_PP_CAT( BOOST_PP_WHILE_, d ) \ - ( BOOST_DETAIL_BINARY_LITERAL_PREDICATE \ - , BOOST_DETAIL_BINARY_LITERAL_OPERATION \ - , bit_groupings () \ - ) - -#define BOOST_DETAIL_BINARY_LITERAL_PREDICATE( d, state ) \ - BOOST_DETAIL_FIXED_COMPL( BOOST_DETAIL_IS_NULLARY_ARGS( state ) ) - -#define BOOST_DETAIL_BINARY_LITERAL_OPERATION( d, state ) \ - BOOST_DETAIL_SPLIT_AND_SWAP \ - ( BOOST_PP_CAT( BOOST_DETAIL_BINARY_LITERAL_ELEMENT_, state ) ) - -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION( s, dummy_param, tuple ) \ - BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL tuple - -#define BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL( bit2, bit1, bit0 ) \ - BOOST_DETAIL_TRIPLE_TO_OCTAL_ ## bit2 ## bit1 ## bit0 - -#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_1 (0)(0) -#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_2 (0) -#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_0 - -#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1END_BIT - -#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1( bit ) \ - ( ( bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2 - -#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2( bit ) \ - bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3 - -#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3( bit ) \ - bit ) ) BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 - -#define BOOST_DETAIL_SPLIT_AND_SWAP( params ) \ - BOOST_PP_IDENTITY( BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS )()( params ) - -#define BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS( first_param, second_param ) \ - second_param first_param - -#define BOOST_DETAIL_LEFT_OF_COMMA( params ) \ - BOOST_PP_IDENTITY( BOOST_DETAIL_FIRST_MACRO_PARAM )()( params ) - -#define BOOST_DETAIL_FIRST_MACRO_PARAM( first_param, second_param ) \ - first_param - -/* Begin derived concepts from Chaos by Paul Mensonides */ - -#define BOOST_DETAIL_IS_NULLARY_ARGS( param ) \ - BOOST_DETAIL_LEFT_OF_COMMA \ - ( BOOST_PP_CAT( BOOST_DETAIL_IS_NULLARY_ARGS_R_ \ - , BOOST_DETAIL_IS_NULLARY_ARGS_C param \ - ) \ - ) - -#define BOOST_DETAIL_IS_NULLARY_ARGS_C() \ - 1 - -#define BOOST_DETAIL_IS_NULLARY_ARGS_R_1 \ - 1, BOOST_PP_NIL - -#define BOOST_DETAIL_IS_NULLARY_ARGS_R_BOOST_DETAIL_IS_NULLARY_ARGS_C \ - 0, BOOST_PP_NIL - -/* End derived concepts from Chaos by Paul Mensonides */ - -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_000 0 -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_001 1 -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_010 2 -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_011 3 -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_100 4 -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_101 5 -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_110 6 -#define BOOST_DETAIL_TRIPLE_TO_OCTAL_111 7 - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0 (0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1 (1), - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000 (0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001 (0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010 (0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011 (0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100 (1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101 (1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110 (1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111 (1)(1)(1), - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000 (0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001 (0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010 (0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011 (0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100 (0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101 (0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110 (0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111 (0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000 (1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001 (1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010 (1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011 (1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100 (1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101 (1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110 (1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111 (1)(1)(1)(1), - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000 (0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001 (0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010 (0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011 (0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100 (0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101 (0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110 (0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111 (0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000 (0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001 (0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010 (0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011 (0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100 (0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101 (0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110 (0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111 (0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000 (1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001 (1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010 (1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011 (1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100 (1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101 (1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110 (1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111 (1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000 (1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001 (1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010 (1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011 (1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100 (1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101 (1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110 (1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111 (1)(1)(1)(1)(1), - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000000 (0)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000001 (0)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000010 (0)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000011 (0)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000100 (0)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000101 (0)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000110 (0)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000111 (0)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001000 (0)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001001 (0)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001010 (0)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001011 (0)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001100 (0)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001101 (0)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001110 (0)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001111 (0)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010000 (0)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010001 (0)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010010 (0)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010011 (0)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010100 (0)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010101 (0)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010110 (0)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010111 (0)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011000 (0)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011001 (0)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011010 (0)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011011 (0)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011100 (0)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011101 (0)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011110 (0)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011111 (0)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100000 (1)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100001 (1)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100010 (1)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100011 (1)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100100 (1)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100101 (1)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100110 (1)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100111 (1)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101000 (1)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101001 (1)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101010 (1)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101011 (1)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101100 (1)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101101 (1)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101110 (1)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101111 (1)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110000 (1)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110001 (1)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110010 (1)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110011 (1)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110100 (1)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110101 (1)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110110 (1)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110111 (1)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111000 (1)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111001 (1)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111010 (1)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111011 (1)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111100 (1)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111101 (1)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111110 (1)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111111 (1)(1)(1)(1)(1)(1), - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000000 (0)(0)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000001 (0)(0)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000010 (0)(0)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000011 (0)(0)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000100 (0)(0)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000101 (0)(0)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000110 (0)(0)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000111 (0)(0)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001000 (0)(0)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001001 (0)(0)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001010 (0)(0)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001011 (0)(0)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001100 (0)(0)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001101 (0)(0)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001110 (0)(0)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001111 (0)(0)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010000 (0)(0)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010001 (0)(0)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010010 (0)(0)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010011 (0)(0)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010100 (0)(0)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010101 (0)(0)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010110 (0)(0)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010111 (0)(0)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011000 (0)(0)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011001 (0)(0)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011010 (0)(0)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011011 (0)(0)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011100 (0)(0)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011101 (0)(0)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011110 (0)(0)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011111 (0)(0)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100000 (0)(1)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100001 (0)(1)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100010 (0)(1)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100011 (0)(1)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100100 (0)(1)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100101 (0)(1)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100110 (0)(1)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100111 (0)(1)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101000 (0)(1)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101001 (0)(1)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101010 (0)(1)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101011 (0)(1)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101100 (0)(1)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101101 (0)(1)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101110 (0)(1)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101111 (0)(1)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110000 (0)(1)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110001 (0)(1)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110010 (0)(1)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110011 (0)(1)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110100 (0)(1)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110101 (0)(1)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110110 (0)(1)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110111 (0)(1)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111000 (0)(1)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111001 (0)(1)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111010 (0)(1)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111011 (0)(1)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111100 (0)(1)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111101 (0)(1)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111110 (0)(1)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111111 (0)(1)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000000 (1)(0)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000001 (1)(0)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000010 (1)(0)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000011 (1)(0)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000100 (1)(0)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000101 (1)(0)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000110 (1)(0)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000111 (1)(0)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001000 (1)(0)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001001 (1)(0)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001010 (1)(0)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001011 (1)(0)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001100 (1)(0)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001101 (1)(0)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001110 (1)(0)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001111 (1)(0)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010000 (1)(0)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010001 (1)(0)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010010 (1)(0)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010011 (1)(0)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010100 (1)(0)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010101 (1)(0)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010110 (1)(0)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010111 (1)(0)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011000 (1)(0)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011001 (1)(0)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011010 (1)(0)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011011 (1)(0)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011100 (1)(0)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011101 (1)(0)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011110 (1)(0)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011111 (1)(0)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100000 (1)(1)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100001 (1)(1)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100010 (1)(1)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100011 (1)(1)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100100 (1)(1)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100101 (1)(1)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100110 (1)(1)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100111 (1)(1)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101000 (1)(1)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101001 (1)(1)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101010 (1)(1)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101011 (1)(1)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101100 (1)(1)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101101 (1)(1)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101110 (1)(1)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101111 (1)(1)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110000 (1)(1)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110001 (1)(1)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110010 (1)(1)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110011 (1)(1)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110100 (1)(1)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110101 (1)(1)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110110 (1)(1)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110111 (1)(1)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111000 (1)(1)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111001 (1)(1)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111010 (1)(1)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111011 (1)(1)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111100 (1)(1)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111101 (1)(1)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111110 (1)(1)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111111 (1)(1)(1)(1)(1)(1)(1), - -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000000 (0)(0)(0)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000001 (0)(0)(0)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000010 (0)(0)(0)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000011 (0)(0)(0)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000100 (0)(0)(0)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000101 (0)(0)(0)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000110 (0)(0)(0)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000111 (0)(0)(0)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001000 (0)(0)(0)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001001 (0)(0)(0)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001010 (0)(0)(0)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001011 (0)(0)(0)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001100 (0)(0)(0)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001101 (0)(0)(0)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001110 (0)(0)(0)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001111 (0)(0)(0)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010000 (0)(0)(0)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010001 (0)(0)(0)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010010 (0)(0)(0)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010011 (0)(0)(0)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010100 (0)(0)(0)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010101 (0)(0)(0)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010110 (0)(0)(0)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010111 (0)(0)(0)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011000 (0)(0)(0)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011001 (0)(0)(0)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011010 (0)(0)(0)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011011 (0)(0)(0)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011100 (0)(0)(0)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011101 (0)(0)(0)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011110 (0)(0)(0)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011111 (0)(0)(0)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100000 (0)(0)(1)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100001 (0)(0)(1)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100010 (0)(0)(1)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100011 (0)(0)(1)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100100 (0)(0)(1)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100101 (0)(0)(1)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100110 (0)(0)(1)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100111 (0)(0)(1)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101000 (0)(0)(1)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101001 (0)(0)(1)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101010 (0)(0)(1)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101011 (0)(0)(1)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101100 (0)(0)(1)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101101 (0)(0)(1)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101110 (0)(0)(1)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101111 (0)(0)(1)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110000 (0)(0)(1)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110001 (0)(0)(1)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110010 (0)(0)(1)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110011 (0)(0)(1)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110100 (0)(0)(1)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110101 (0)(0)(1)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110110 (0)(0)(1)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110111 (0)(0)(1)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111000 (0)(0)(1)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111001 (0)(0)(1)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111010 (0)(0)(1)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111011 (0)(0)(1)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111100 (0)(0)(1)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111101 (0)(0)(1)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111110 (0)(0)(1)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111111 (0)(0)(1)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000000 (0)(1)(0)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000001 (0)(1)(0)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000010 (0)(1)(0)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000011 (0)(1)(0)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000100 (0)(1)(0)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000101 (0)(1)(0)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000110 (0)(1)(0)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000111 (0)(1)(0)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001000 (0)(1)(0)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001001 (0)(1)(0)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001010 (0)(1)(0)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001011 (0)(1)(0)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001100 (0)(1)(0)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001101 (0)(1)(0)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001110 (0)(1)(0)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001111 (0)(1)(0)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010000 (0)(1)(0)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010001 (0)(1)(0)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010010 (0)(1)(0)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010011 (0)(1)(0)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010100 (0)(1)(0)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010101 (0)(1)(0)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010110 (0)(1)(0)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010111 (0)(1)(0)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011000 (0)(1)(0)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011001 (0)(1)(0)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011010 (0)(1)(0)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011011 (0)(1)(0)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011100 (0)(1)(0)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011101 (0)(1)(0)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011110 (0)(1)(0)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011111 (0)(1)(0)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100000 (0)(1)(1)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100001 (0)(1)(1)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100010 (0)(1)(1)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100011 (0)(1)(1)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100100 (0)(1)(1)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100101 (0)(1)(1)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100110 (0)(1)(1)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100111 (0)(1)(1)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101000 (0)(1)(1)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101001 (0)(1)(1)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101010 (0)(1)(1)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101011 (0)(1)(1)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101100 (0)(1)(1)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101101 (0)(1)(1)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101110 (0)(1)(1)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101111 (0)(1)(1)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110000 (0)(1)(1)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110001 (0)(1)(1)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110010 (0)(1)(1)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110011 (0)(1)(1)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110100 (0)(1)(1)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110101 (0)(1)(1)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110110 (0)(1)(1)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110111 (0)(1)(1)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111000 (0)(1)(1)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111001 (0)(1)(1)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111010 (0)(1)(1)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111011 (0)(1)(1)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111100 (0)(1)(1)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111101 (0)(1)(1)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111110 (0)(1)(1)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111111 (0)(1)(1)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000000 (1)(0)(0)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000001 (1)(0)(0)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000010 (1)(0)(0)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000011 (1)(0)(0)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000100 (1)(0)(0)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000101 (1)(0)(0)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000110 (1)(0)(0)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000111 (1)(0)(0)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001000 (1)(0)(0)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001001 (1)(0)(0)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001010 (1)(0)(0)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001011 (1)(0)(0)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001100 (1)(0)(0)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001101 (1)(0)(0)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001110 (1)(0)(0)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001111 (1)(0)(0)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010000 (1)(0)(0)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010001 (1)(0)(0)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010010 (1)(0)(0)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010011 (1)(0)(0)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010100 (1)(0)(0)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010101 (1)(0)(0)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010110 (1)(0)(0)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010111 (1)(0)(0)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011000 (1)(0)(0)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011001 (1)(0)(0)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011010 (1)(0)(0)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011011 (1)(0)(0)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011100 (1)(0)(0)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011101 (1)(0)(0)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011110 (1)(0)(0)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011111 (1)(0)(0)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100000 (1)(0)(1)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100001 (1)(0)(1)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100010 (1)(0)(1)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100011 (1)(0)(1)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100100 (1)(0)(1)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100101 (1)(0)(1)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100110 (1)(0)(1)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100111 (1)(0)(1)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101000 (1)(0)(1)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101001 (1)(0)(1)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101010 (1)(0)(1)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101011 (1)(0)(1)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101100 (1)(0)(1)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101101 (1)(0)(1)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101110 (1)(0)(1)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101111 (1)(0)(1)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110000 (1)(0)(1)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110001 (1)(0)(1)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110010 (1)(0)(1)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110011 (1)(0)(1)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110100 (1)(0)(1)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110101 (1)(0)(1)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110110 (1)(0)(1)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110111 (1)(0)(1)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111000 (1)(0)(1)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111001 (1)(0)(1)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111010 (1)(0)(1)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111011 (1)(0)(1)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111100 (1)(0)(1)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111101 (1)(0)(1)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111110 (1)(0)(1)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111111 (1)(0)(1)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000000 (1)(1)(0)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000001 (1)(1)(0)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000010 (1)(1)(0)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000011 (1)(1)(0)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000100 (1)(1)(0)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000101 (1)(1)(0)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000110 (1)(1)(0)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000111 (1)(1)(0)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001000 (1)(1)(0)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001001 (1)(1)(0)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001010 (1)(1)(0)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001011 (1)(1)(0)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001100 (1)(1)(0)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001101 (1)(1)(0)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001110 (1)(1)(0)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001111 (1)(1)(0)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010000 (1)(1)(0)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010001 (1)(1)(0)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010010 (1)(1)(0)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010011 (1)(1)(0)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010100 (1)(1)(0)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010101 (1)(1)(0)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010110 (1)(1)(0)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010111 (1)(1)(0)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011000 (1)(1)(0)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011001 (1)(1)(0)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011010 (1)(1)(0)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011011 (1)(1)(0)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011100 (1)(1)(0)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011101 (1)(1)(0)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011110 (1)(1)(0)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011111 (1)(1)(0)(1)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100000 (1)(1)(1)(0)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100001 (1)(1)(1)(0)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100010 (1)(1)(1)(0)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100011 (1)(1)(1)(0)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100100 (1)(1)(1)(0)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100101 (1)(1)(1)(0)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100110 (1)(1)(1)(0)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100111 (1)(1)(1)(0)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101000 (1)(1)(1)(0)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101001 (1)(1)(1)(0)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101010 (1)(1)(1)(0)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101011 (1)(1)(1)(0)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101100 (1)(1)(1)(0)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101101 (1)(1)(1)(0)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101110 (1)(1)(1)(0)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101111 (1)(1)(1)(0)(1)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110000 (1)(1)(1)(1)(0)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110001 (1)(1)(1)(1)(0)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110010 (1)(1)(1)(1)(0)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110011 (1)(1)(1)(1)(0)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110100 (1)(1)(1)(1)(0)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110101 (1)(1)(1)(1)(0)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110110 (1)(1)(1)(1)(0)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110111 (1)(1)(1)(1)(0)(1)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111000 (1)(1)(1)(1)(1)(0)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111001 (1)(1)(1)(1)(1)(0)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111010 (1)(1)(1)(1)(1)(0)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111011 (1)(1)(1)(1)(1)(0)(1)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111100 (1)(1)(1)(1)(1)(1)(0)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111101 (1)(1)(1)(1)(1)(1)(0)(1), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111110 (1)(1)(1)(1)(1)(1)(1)(0), -#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111111 (1)(1)(1)(1)(1)(1)(1)(1), - -#endif diff --git a/3rdparty/boost/boost/utility/identity_type.hpp b/3rdparty/boost/boost/utility/identity_type.hpp deleted file mode 100644 index 4a1f6c4de5..0000000000 --- a/3rdparty/boost/boost/utility/identity_type.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright (C) 2009-2012 Lorenzo Caminiti -// Distributed under 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) -// Home at http://www.boost.org/libs/utility/identity_type - -/** @file -Wrap type expressions with round parenthesis so they can be passed to macros -even if they contain commas. -*/ - -#ifndef BOOST_IDENTITY_TYPE_HPP_ -#define BOOST_IDENTITY_TYPE_HPP_ - -#include - -/** -@brief This macro allows to wrap the specified type expression within extra -round parenthesis so the type can be passed as a single macro parameter even if -it contains commas (not already wrapped within round parenthesis). - -@Params -@Param{parenthesized_type, -The type expression to be passed as macro parameter wrapped by a single set -of round parenthesis (...). -This type expression can contain an arbitrary number of commas. -} -@EndParams - -This macro works on any C++03 compiler (it does not use variadic macros). - -This macro must be prefixed by typename when used within templates. -Note that the compiler will not be able to automatically determine function -template parameters when they are wrapped with this macro (these parameters -need to be explicitly specified when calling the function template). - -On some compilers (like GCC), using this macro on abstract types requires to -add and remove a reference to the specified type. -*/ -#define BOOST_IDENTITY_TYPE(parenthesized_type) \ - /* must NOT prefix this with `::` to work with parenthesized syntax */ \ - boost::function_traits< void parenthesized_type >::arg1_type - -#endif // #include guard - diff --git a/3rdparty/boost/extract.sh b/3rdparty/boost/extract.sh index bff2a650e8..b177e10427 100755 --- a/3rdparty/boost/extract.sh +++ b/3rdparty/boost/extract.sh @@ -14,7 +14,6 @@ HEADERS="\ boost/any.hpp \ boost/assert.hpp \ boost/crc.hpp \ - boost/lexical_cast.hpp \ boost/signals2/signal.hpp \ "